我正在尝试从我的wpf应用程序中加载来自Web的图像.
这个想法如下:当我点击一个按钮时,会弹出一个包含附加信息的弹出窗口.在这个弹出窗口中,我正在使用网络上的一些图像.
问题:当加载弹出窗口时,系统会在等待图像时挂起.我正在绑定我背后的代码中的图像.图像存储在ObservableCollection中.我尝试使用线程来加载图像,但每次我遇到一个异常,说线程不是对象的所有者.
我尝试使用Invoke将下载的图像下载到UserinterfaceThread但我无法访问它.我的代码如下:
IList<Image> imagesFromWeb = downloadImagesFromWeb(url);
DispatcherHelper.UIDispatcher.Invoke(DispatcherPriority.Normal, (ThreadStart)delegate()
{
foreach (Image img in imagesFromWeb
{
this.ObservableCollection_Images.Add(img);
}
}
Run Code Online (Sandbox Code Playgroud)
下载图像并尝试将图像添加到(已打开的)弹出窗口后,我得到异常,说该线程不是对象的所有者
有人可以指出我正确的方向吗?