6

我有一些看起来像这样的 WP7 代码:



using System.Windows;
using System.Windows.Threading;

public static class GlobalDispatcher
{
    public static Dispatcher Current { get { return Deployment.Current.Dispatcher; } }
}

WinRT 中的等价物是什么?是否没有全局可访问的 Dispatcher(或 CoreDispatcher)对象?

4

3 回答 3

8

你会想要使用Window.Current.Dispatcher.

于 2012-11-20T21:45:06.237 回答
6

只需将其添加为答案,因为它可以更好地解决我认为的问题:

如果应用程序没有获得焦点,则 Window.Current 为 null,因此当涉及到用户时会给您带来麻烦;)

CoreApplication.MainView.CoreWindow.Dispatcher 不为空...

——杰里米·怀特 2013 年 8 月 4 日 13:09

于 2014-09-10T08:35:30.290 回答
2

尝试这个:

        var dispatcher = CoreApplication.MainView.CoreWindow.Dispatcher;
        await dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
        {
            try
            {
               //Your code here
            }
            catch (Exception ex)
            {
                HandleException(ex);
            }
        });
于 2015-01-23T06:15:51.593 回答