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;
}));

 

问题解决。

本文作者:浅绿色i

本文链接:https://www.cnblogs.com/xfweb/p/15915184.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   浅绿色i  阅读(3152)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起