C#调用线程必须为 STA,因为许多 UI 组件都需要。

2022/2/20 12:26:24

本文主要是介绍C#调用线程必须为 STA,因为许多 UI 组件都需要。,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

异常: 引发了异常: PresentationCore.dll 中的“System.InvalidOperationException”(“调用线程必须为 STA,因为许多 UI 组件都需要。”)。引发了异常: PresentationCore.dll 中的“System.InvalidOperationException”(“调用线程必须为 STA,因为许多 UI 组件都需要。”)

引起异常就下这句:

titleLab.Content = "通话中..." + msg;

引起异常是因为那么WPF里面,有个所谓UI线程,后台代码不能直接操作UI控件,需要控制,就要通过这个Dispatcher。

如下处理:

Dispatcher.BeginInvoke(new Action(delegate
{
     titleLab.Content = "消息..." + msg;
}));

 

问题解决。



这篇关于C#调用线程必须为 STA,因为许多 UI 组件都需要。的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程