首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CoreWindow::GetCurrentForThread()始终为空

CoreWindow::GetCurrentForThread()始终为空
EN

Stack Overflow用户
提问于 2013-01-24 16:46:25
回答 2查看 3K关注 0票数 4

我正在尝试获取Windows phone8上C++中的CoreDispatcher,这样我就可以将工作项提交到UI线程调度器,这样我就可以更新UI线程上的UI元素。但是,当我调用CoreWindow::GetCurrentForThread()时,我得到的是NULL。在the documentation中,它声明这在WP8上受支持。只要我在获取当前窗口的NULL,就无法从中获取当前的Dispatcher;有人知道如何在WP8上获取当前的Dispatcher吗?

EN

回答 2

Stack Overflow用户

发布于 2013-01-25 00:04:17

CoreWindow::GetForCurrentThread()的文档说明为返回:

当前活动线程的CoreWindow

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

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

票数 2
EN

Stack Overflow用户

发布于 2017-03-05 22:09:24

我用过

代码语言:javascript
复制
await CoreApplication.Views.First().Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                {
                    //your code here
                });
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14497147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档