4

我是使用 Windows 的新手,我正在尝试了解 API。Windows 运行时 API 提供属性 CoreDispatcher.HasThreadAccess,但文档中对其的描述非常模糊:

“获取一个值,该值指定此 CoreWindow 实例提供的事件调度程序是否有权访问当前线程。”

当它返回false时是什么意思?用户工程师何时以及为什么会使用这种方法?

4

1 回答 1

3

它告诉您运行代码的线程是否可以安全地更新 UI。将其与 Winforms 中的 Control.InvokeRequired 和 WPF 中的 Dispatcher.CheckAccess 进行比较。

当它返回 false 时,您必须使用 Dispatcher.RunAsync() 来确保您的代码在正确的线程上运行。

于 2013-07-16T17:24:45.243 回答