我想打开一些非模型窗口(WPF),但在这必须发生的时候,我在一个非 STA 线程上。所以我开始一个新线程并在那里打开它们。但是一旦打开,它们就会再次关闭。(顺便说一句。这些窗口的行为应该独立于主窗口。所以没有设置所有者属性)
private void SomeMethod_OnA_NON_STA_Thread()
{
// some other work here
Thread ANewThread = new Thread(OpenSomeWindows);
ANewThread.SetApartmentState(ApartmentState.STA);
ANewThread.Start();
}
private void OpenSomeWindows()
{
TestWindow T;
for (int i = 0; i < 3; i++)
{
T = new TestWindow();
T.Show();
}
}
我在这里做错了什么?