2009-07-13 5 views
0

Silverlightからローカルファイルを読み込むときに、通常のパス区切り文字「\」以外の特別なパス区切り記号「/」を使用する必要があります。そうでないとSilverlightは関連するローカルファイルを取得できません。 c:\ test \ abc.wmvとして書き込む以外に、c:/test/abc.wmvとして書き込む必要があります。Silverlightファイルのパス区切りの問題

つ以上の質問、

  1. 通常のファイル区切り文字を使用するために、任意のシンプルなソリューション?

  2. C#File/FileInfoクラスは、ファイル名(フルパス名)を表すために通常のパス区切りを使用します。Silverlightが認識できるように、この特殊なパス区切りにすべての通常のパス区切りを変更する方法は?

私はVSTS 2008 + C#+ .Net 2.0を使用しています。

public string ToSilverlightPath(this string s) 
{ 
    return s.Replace("\\", "/"); 
} 

または

public string ToSilverlightPath(this Path p) 
{ 
    return p.GetFullPath().Replace("\\", "/"); 
} 

編集:

それについていくつかのより多くのことを考えた後、あなたが拡張メソッドを使用することができ、事前に

おかげで、 ジョージ

答えて

2

Si lverlightはおそらくURIで動作します。 '
つまり、SilverlightのすべてのパスはURIです。 '
は、だからではなく、パスを使用したのは、おそらくのように、URIを使用する必要があります。

Uri mySilverlightPath = new Uri(myPathString); 

またはこのもののわからない

Uri mySilverlightPath = new Uri(myPath.GetFullPath()); 

が、私はそれが理にかなっていると思います。

+0

ありがとうございましたCKret、Silverlightで通常のパス区切りを認識させる方法はありますか? – George2

+1

Silverlightでうまくいきませんでしたが、私はそれについてもう少し考えて、私の思考で投稿を編集しました。 –

+0

しかし、myPathStringの入力値を取得する方法は?セパレータ\を使用するか、セパレータ/? – George2

関連する問題