我的Windows Phone XAML页面中有一些图像,我按照逻辑方式动态设置代码隐藏源代码。
img1.Source = (ImageSource)new ImageSourceConverter().ConvertFromString("/Images/MAP/" + Path + ".png");
并且当页面加载和图像加载完美时它工作正常但是根据我的应用程序逻辑,我显示了一个消息框,它是基于XNA的自定义消息框,带有两个按钮。一旦用户点击确定我必须动态再次加载图像我正在调用相同的上述功能,但那时它给我一个异常"Invalid Cross Thread Exception"
可能这是由于后台线程上的图像源设置不在UI上线程,所以我尝试了Dispatcher
,就像这样
this.Dispatcher.BeginInvoke(new System.Action(delegate()
{
img1.Source = (ImageSource)new ImageSourceConverter().ConvertFromString("/Images/MAP/" + Path + ".png");
}));
使用此调度程序没有例外,但UI
未刷新
可以请任何人告诉为什么会这样吗?我试着再次在同一个消息框OK按钮上导航我得到相同的“Invalid Cross Thread
”异常
答案 0 :(得分:0)
尝试向img1.ImageFailed添加一个事件处理程序,如果图像无法加载,它将默默地执行此操作,除非您正在侦听该事件。