System.InvalidOperationException:“调用线程必须为 STA,因为许多 UI 组件都需要。” 这个异常通常发生在尝试在非单线程单元(STA,Single-Threaded Apartment)线程中访问某些 UI 组件时。在 .NET 中,许多 UI 框架(如 Windows Forms 和 WPF)要求与其交互的线程必须是 STA 线程。这是因为这些 UI 框架不是线程安全的...
}); 后台代码不能直接操作UI控件,需要控制,就要通过这个Dispatcher。 类库程序不需要使用Dispatcher,而是页面需要程序的时候使用Dispatcher 方式一: Application.Current.Dispatcher.Invoke((Action)(() => { code })); 方式二: Action action1 = () => { }; documentList[friendId].Dispatcher.BeginInvoke(action...
异常: 引发了异常: PresentationCore.dll 中的“System.InvalidOperationException”(“调用线程必须为 STA,因为许多 UI 组件都需要。”)。引发了异常: PresentationCore.dll 中的“System.InvalidOperationException”(“调用线程必须为 STA,因为许多 UI 组件都需要。”) 引起异常就下这句: titleLab.Content = "通话中...
调用线程必须为STA,因为许多UI组件都需要。 Thread NetServer = new Thread(new ThreadStart(NetServerThreadFunc)); NetServer.Start(); WPF工程里,此线程不可以操作UI元素,如果在线程中调用了UI处理,则会弹出如上错误。避免方法如下: 1、public delegate void DeleFunc(); public void Func() { //使用ui元...
这样就将执行用的线程池切换到 STA 线程池,而且使 HttpContext 和其他内置对象可用于 COM 对象。前者...
您可以将您自己的同步上下文传递给ContinueWith,以告知任务调度程序应在何处运行您的继续:...
调用线程必须为 STA,因为许多 UI 组件都需要 2011-04-15 16:30 − Thread NetServer = new Thread(new ThreadStart(NetServerThreadFunc)); NetServer.Start(); WPF工程里,此线程不可以操作UI元素,避免方法如下: 1、public ... 山河 0 1457 [wpf]多窗口中的Timer,会出现必须加STA的一句错误:调用线...
WPF Dispatcher.BeginInvoke子线程更新UI 2019-12-23 16:30 −在开发WPF应用时出现:”调用线程无法访问此对象,因为另一个线程拥有该对象。“ 是因为UI线程是WPF应用的主线程,若尝试子线程更新UI线程应使用Dispatcher.BeginInvoke()或者Invoke()方法。 Dispatcher.BeginInvoke() //异... ...
调用线程必须为 STA,因为许多 UI 组件都需要 50 请教大家一个问题:在aspx页面上new了一个WPF控件,比如ContentControl,执行后报异常,异常信息如下:调用线程必须为STA,因为许多UI组件都需要。有遇到过该问题的没... 请教大家一个问题:在aspx页面上new了一个WPF控件,比如ContentControl,执行后报异常,异常信息如下:...
WPF中,代码中准备控制控件内容时,有时会报错:“ 调用线程必须为 STA,因为许多 UI 组件都需要 ”。 如在winform下面,使用多线程时,控件的值读取是可以的,但如果要更改,那么就必须进行一些特别的处理。WPF中也一样。 首先,WPF中,当报上面那个错误时,代码可以改成类似以下: ...