Thread NetServer = new Thread(new ThreadStart(NetServerThreadFunc));NetServer.Start(); WPF工程里,此线程不可以操作UI元素,避免方法如下: 1、public delegate void ...
当我在使用Cefsharp后,在前端使用JS调用.NET公开类时,遇到了这个问题:调用线程必须为STA,因为许多UI组件都需要, 困恼了小编半天。终于自己敢去尝试,解决了。 解决办法 在要执行代码的外层加入Dispatcher,Dispatcher的作用是用于管理线程工作项队列,类似于Win 中的消息队列,Dispatcher的内部函数,仍然调用了传统的创建窗口类,创建窗口,建立消息泵等操作。 ...
2020-07-30 11:34 0 514 推荐指数:
Thread NetServer = new Thread(new ThreadStart(NetServerThreadFunc));NetServer.Start(); WPF工程里,此线程不可以操作UI元素,避免方法如下: 1、public delegate void ...
WPF中,代码中准备控制控件内容时,有时会报错:“ 调用线程必须为 STA,因为许多 UI 组件都需要 ”。 如在winform下面,使用多线程时,控件的值读取是可以的,但如果要更改,那么就必须进行一些特别的处理。WPF中也一样。 首先,WPF中,当报上面那个错误时,代码可以改成 ...
异常: 引发了异常: PresentationCore.dll 中的“System.InvalidOperationException”(“调用线程必须为 STA,因为许多 UI 组件都需要。”)。引发了异常: PresentationCore.dll 中 ...
UI 只能在主线程内更新,子线程需要更新UI组件时可以这样: ...
今天在winform中设置了combox的模糊查询功能的相关属性之后, 在运行时,报了如下错误 通过寻找相关资料,了解到了STA单元模式和COM对象,总的来说:winform中,很多控件是COM对象,这样的对象只能被sta模式中的线程所调用。 解决办法有两种: 第一种 ...
线程的时候一到复制的时候就报错: “在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA ...
文章来源: http://blog.csdn.net/fragno/article/details/7982044 STA: Single-Thread Apartment, 中文叫单线程套间。就是在COM库初始化的时候创建一个内存结构,然后让它和调用CoInitialize ...