我的 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
”异常