我正在使用Windows 8商店应用。我有一个计时器,每两分钟调用一个委托,并发出异步Web请求。结果数据被添加到绑定到UI元素的observablecollection。这样做会引发异常,因为在非UI线程上修改了UI。 在我的代码中的其他地方我已经完成了这个
await Window.Current.CoreWindow.Dispatcher.RunAsync( CoreDispatcherPriority.Normal, async () =>
{
ui code here
}
但这导致Window.Current为空的崩溃。我尝试将Window.Current作为参数传递给委托,但这会引发另一个异常。有没有关于如何解决这个问题的建议?
答案 0 :(得分:2)
让UI线程调用后台操作通常更容易,而不是让后台操作更新UI线程。
因此,我建议您使用DispatcherTimer
,然后根本不需要使用Dispatcher
。
答案 1 :(得分:0)
尝试使用
Deployment.Current.Dispatcher.BeginInvoke
或
Application.Current.Dispatcher.BeginInvoke