0

Silverlight からローカル ファイルを読み取る場合、通常のパス セパレーター「\」以外に特別なパス セパレーター「/」を使用する必要があります。そうしないと、Silverlight が関連するローカル ファイルを取得できません。たとえば、c:/test として書き込む必要があります。 /abc.wmv、c:\test\abc.wmv と書く以外。

あと2問、

  1. 通常のファイル区切りを使用する簡単な解決策はありますか?

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

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

前もって感謝します、ジョージ

4

1 に答える 1

2

拡張メソッドを使用できます。

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

また

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

編集:

もう少し考えてみると、Silverlight はおそらく URI で動作します。
つまり、Silverlight のすべてのパスは URI です。
したがって、Path を使用する代わりに、次のように Uri を使用する必要があります。

Uri mySilverlightPath = new Uri(myPathString);

また

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

これについては定かではありませんが、意味があると思います。

于 2009-07-13T09:51:57.487 に答える