我有一些看起来像这样的WP7代码:
using System.Windows;
using System.Windows.Threading;
public static class GlobalDispatcher
{
public static Dispatcher Current { get { return Deployment.Current.Dispatcher; } }
}
WinRT中的等价物是什么?是否没有全局可访问的Dispatcher(或CoreDispatcher)对象?
答案 0 :(得分:8)
您需要使用Window.Current.Dispatcher
。
答案 1 :(得分:6)
只需将其添加为答案,因为它更能解决我认为的问题:
如果应用程序没有聚焦,则Window.Current为null,因此当涉及到用户时会给您带来麻烦;)
CoreApplication.MainView.CoreWindow.Dispatcher不是空的......
- 杰里米怀特8月4日&13; 13 13:09
答案 2 :(得分:2)
试试这个:
var dispatcher = CoreApplication.MainView.CoreWindow.Dispatcher;
await dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
try
{
//Your code here
}
catch (Exception ex)
{
HandleException(ex);
}
});