从Web URI获取BitmapImage

时间:2011-01-16 19:39:06

标签: silverlight image windows-phone-7 bitmapimage

我的Windows Phone应用程序中有几个绑定到uri的图像会导致在下载所有图像时UI被阻止。我不能在不同的线程上创建一个bitmapImage实例,因为我会得到一个“无效的交叉线程操作”exeption。

我尝试使用WebClient下载图像,但没有构造函数接受BitmapImage的流。

是否考虑过如何在后台下载图像?

感谢

阿米特

2 个答案:

答案 0 :(得分:2)

为了使用StreamBitmapImage提供内容,您可以使用默认构造函数创建实例,然后调用SetSource传递流: -

  var bi = new BitmapImage();
  bi.SetSource(myStream);

但是我想你可能会在这里重新发明轮子。看看下面的链接: -

Keep a low profile (LowProfileImageLoader helps the Windows Phone 7 UI thread stay responsive by loading images in the background

答案 1 :(得分:0)

您仍然使用WebClient在UI线程上。如果继续这种方法,您还可以考虑使用HttpWebRequest。这是一个工作示例,包括无效跨线程访问异常的解决方案。

WebClient, HttpWebRequest and the UI Thread on Windows Phone 7