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