我在WPF中使用我的STA线程有点麻烦。
我执行以下操作:
Dispatcher.BeginInvoke(new Action(CreateAndShow), null);
CreateAndShow看起来像这样:
_mainWindow = new PresentWindow();
// not really important what happens in the next lines, the error is before this
AddPerspectives();
MainWindow = _mainWindow;
MainWindow.Show();
现在,我在PresentWindow构造函数启动的行中得到一个Exception,声明调用线程需要是一个STA线程。
我在创建PresentWindow之前设置了一个断点。当前线程的AppartmentState是STA。如果我从一个不同的点调用CreateAndShow(没有调用,但直接在完全相同的STA线程中),它完全正常。
我确信所有这些都有一个非常简单的解释,但我找不到它。有人可以帮忙吗?
谢谢!