在Windows Phone 7中从URL加载图像

时间:2011-11-16 13:55:14

标签: silverlight windows-phone-7 image-loading

我使用下面的代码在我的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上不存在图像,那么我想显示一些默认图像。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

我认为如果您订阅Image.ImageFailed Event,则应该能够在不存在图片的情况下显示默认图片。

发生此事件的条件包括:

  1. 找不到档案。
  2. 文件格式无效(无法识别或不受支持)。
  3. 上传后出现未知文件格式解码错误。
  4. 所以这样的事情对你有用:

    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
    }