作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 WPF 应用程序,其中一个线程检查一些值。在某些情况下,我会显示一个弹出窗口 Window
以显示消息。当我在线程中创建这个弹出窗口时,弹出窗口的构造函数抛出一个异常:
"The calling thread must be STA, because many UI components require this."
// using System.Threading;
// using System.Windows.Threading;
Thread Messagethread = new Thread(new ThreadStart(delegate()
{
DispatcherOperation DispacherOP =
frmMassenger.Dispatcher.BeginInvoke(
DispatcherPriority.Normal,
new Action(delegate()
{
frmMassenger.Show();
}));
}));
Messagethread.Start();
最佳答案
对于您尝试在其中启动 GUI 元素的线程,您需要将该线程的单元状态设置为 STA 之前 你开始吧。
例子:
myThread.SetApartmentState(ApartmentState.STA);
myThread.Start();
关于.net - 在线程中创建 WPF 弹出窗口时出现 "The calling thread must be STA, because many UI components require this"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2657212/
我是一名优秀的程序员,十分优秀!