c# - 如何判断我的当前线程是否是 UI 线程?

标签 c# multithreading windows-10 uwp

我正在为 UWP 开发一个用户控件,它会在某些调用时更新它的一些视觉效果。但是,由于核心 .NET 库已经转移并且线程类已被严重削减,我不知道如何从用户控件中的方法识别调用线程是否是 UI 线程所以它知道是否使用调度程序更改依赖属性。

有人知道怎么做吗?

编辑:调度程序在功能上可以在 UI 线程上异步“调用” - 但是,我真的不知道这是否是个好主意 - 尝试通过调度程序从主线程调用主线程.如果有人有理由认为这是好的或坏的,那也将有助于回答这个问题。如果没有理由不在主线程上使用调度程序,那么我想没有问题。

最佳答案

我找到了解决方案...

CoreDispatcher.HasThreadAccess返回一个 bool 值,指示您是否在 UI 线程上。

关于c# - 如何判断我的当前线程是否是 UI 线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32108513/

相关文章:

c# - 如何防止 UserControl 的内容被覆盖?

c# - Entity Framework 代码优先字符串与 Oracle Db 的比较

c# - 阻塞监听防止断开连接

c# - 如何在where子句中将字符串转换为DateTime?

C中的Python线程

C线程同步

push-notification - 如何在单击按钮时消除 uWP 中的 toast

c# - Microsoft XNA 可以在 Windows 10 上运行吗?

c# - 通过 Response 发送内存中生成的 .PDF 文件

c# - 单独组装和路由中的 Controller