2

私の理解では、SL5 を OOB を実行するように設定し、ローカル システム上の任意のディレクトリ/ファイルに広くアクセスできるように信頼を高める必要があります。外部システムが png 画像ファイルをユーザーの c:\images フォルダーに配置する場合、さまざまな png ファイルを XAML 画像要素に読み込むにはどうすればよいですか?

この行は機能します:

image.UriSource = new Uri(value as string);

「http://blah.com/image1.png」のような文字列に値を設定すると

しかし、次のように設定しようとすると失敗します。

ImageUrl = new Uri(@"C:\images\image3.png")

ヒットすると、「file:///C:.....」のようなものに解決されます

image.UriSource = new Uri(value as string);

ライン。

OOB 昇格アプリを実行しているシステムの任意のローカル パスから SL5 で png ファイルを表示するにはどうすればよいですか?

4

1 に答える 1

1

昇格した権限が正しく設定されていれば、このようなものは機能するはずです

  var bmp = new BitmapImage();
  var stream = new FileStream(@"c:\dir\folder\image.png", FileMode.Open);
  bmp.SetSource(stream);
  stream.Close();

URI を使用する必要がある場合は、次のようにします。

  var bmp = new BitmapImage();      
  var uri = new Uri("c:/dir/folder/image.png");
  bmp.UriSource = uri;

パスが異なることに注意してください。uri パスでは、スラッシュを使用する必要があります。

次に、イメージ コントロールのソースを bmp に設定できます。

  image.Source = bmp;

「ファイル操作は許可されていません」という例外が発生した場合は、ブラウザ設定外で昇格されたアクセス許可がチェックされていることを再確認する必要があります

プロジェクト -> プロパティ -> 「ブラウザ設定外」

「昇格した信頼が必要...」にチェックを入れます

于 2012-08-29T06:33:04.453 に答える