CoreWindow::GetCurrentForThread() 始终为 NULL

sta*_*oat 5 windows-runtime c++-cx windows-phone-8

我正在尝试CoreDispatcher在 Windows Phone 8 上获取 C++ 版本,以便我可以将工作项提交到 UI 线程调度程序,以便我可以更新 UI 线程上的 UI 元素。然而,当我打电话时CoreWindow::GetCurrentForThread(),我就NULL回来了。文档中指出 WP8 支持此功能。只要我获取NULL当前窗口,我就无法Dispatcher从中获取当前;有谁知道如何在 WP8 上获取当前的 Dispatcher?

Jam*_*lis 2

CoreWindow::GetForCurrentThread()被记录为返回:

CoreWindow当前活动线程的。

如果您从没有 a 的线程CoreWindow(如任何非 UI 线程)调用此函数,则此函数将返回nullptr.

假设应用程序已完成初始化并且有一个视图,您可以通过从应用程序的主视图使用调度程序CoreApplication::MainView。或者,您可以将Dispatcher^UI 线程的 传递给在非 UI 线程上执行的代码,以便它在需要调用回 UI 线程时可以访问它。