1

以下のコードを使用して、winodws phone 7 アプリケーションで URL から画像を読み込みます。

Uri uri = new Uri("http://dilbert.com/dyn/str_strip/000000000/00000000/0000000/000000/80000/5000/100/85108/85108.strip.print.gif", UriKind.Absolute)
image1.Source = new BitmapImage(uri);

それは私にとってはうまくいっています。しかし、画像は非同期に読み込まれ、そこにある種のビジーインジケーターを表示したいときまでに、そのような URL に画像が存在しない場合は、デフォルトの画像を表示したいと考えています。どうすればそれを達成できますか?

4

1 に答える 1

2

Image.ImageFailed イベントを購読している場合は、存在しない画像の場合にデフォルトの画像を表示できるはずです。

このイベントが発生する条件には、次のものがあります。

  1. ファイルが見つかりません。
  2. 無効な (認識されていないかサポートされていない) ファイル形式です。
  3. アップロード後に不明なファイル形式のデコード エラーが発生しました。

したがって、次のようなものがうまくいくかもしれません:

image1.ImageFailed += new EventHandler<ExceptionRoutedEventArgs>(handlerImageFailed);
Uri uri = new Uri("http://dilbert.com/dyn/str_strip/000000000/00000000/0000000/000000/80000/5000/100/85108/85108.strip.print.gif", UriKind.Absolute)
image1.Source = new BitmapImage(uri);

void handlerImageFailed(object sender, ExceptionRoutedEventArgs e)
{
     // Show the default image
}
于 2011-11-16T14:07:12.950 に答える