我的Windows Phone应用程序中有几个绑定到uri的图像会导致在下载所有图像时UI被阻止。我不能在不同的线程上创建一个bitmapImage实例,因为我会得到一个“无效的交叉线程操作”exeption。
我尝试使用WebClient下载图像,但没有构造函数接受BitmapImage的流。
是否考虑过如何在后台下载图像?
感谢
阿米特
答案 0 :(得分:2)
为了使用Stream
为BitmapImage
提供内容,您可以使用默认构造函数创建实例,然后调用SetSource
传递流: -
var bi = new BitmapImage();
bi.SetSource(myStream);
但是我想你可能会在这里重新发明轮子。看看下面的链接: -
答案 1 :(得分:0)
您仍然使用WebClient在UI线程上。如果继续这种方法,您还可以考虑使用HttpWebRequest。这是一个工作示例,包括无效跨线程访问异常的解决方案。
WebClient, HttpWebRequest and the UI Thread on Windows Phone 7