我正在尝试CoreDispatcher
在 Windows Phone 8 上使用 C++,以便我可以将工作项提交给 UI 线程 Dispatcher,以便我可以更新 UI 线程上的 UI 元素。但是,当我打电话时CoreWindow::GetCurrentForThread()
,我会NULL
回来。在文档中,它声明这在 WP8 上受支持。只要我正在获取NULL
当前窗口,我就无法从中获取当前Dispatcher
;有人知道如何在 WP8 上获取当前的 Dispatcher 吗?
问问题
3024 次
2 回答
2
CoreWindow::GetForCurrentThread()
记录为返回:
当前
CoreWindow
活动线程的 。
如果您从没有 a 的线程CoreWindow
(如任何非 UI 线程)调用此函数,则此函数将返回nullptr
.
假设应用程序已经完成初始化并且有一个视图,您可以通过应用程序的主视图使用调度程序CoreApplication::MainView
。或者,您可以将 UI 线程的 传递Dispatcher^
给在非 UI 线程上执行的代码,以便在需要调用回 UI 线程时可以访问它。
于 2013-01-24T16:04:17.043 回答
2
我用过
await CoreApplication.Views.First().Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
//your code here
});
于 2017-03-05T14:09:23.677 回答