使用下面的代码,我能够生成第二个窗口,但第二个窗口在初始化后立即关闭。我在这里做错了什么?
private void button_Click(object sender, RoutedEventArgs e)
{
Thread sta = new Thread(delegate ()
{
Window1 w = new Window1();
w.Show();
});
sta.SetApartmentState(ApartmentState.STA);
sta.Start();
}
最佳答案
没关系,我找到了!我没有放: System.Windows.Threading.Dispatcher.Run(); 在委托(delegate)结束时。
现在的代码是:
private void button_Click(object sender, RoutedEventArgs e)
{
Thread sta = new Thread(delegate ()
{
Window1 w = new Window1();
w.Show();
System.Windows.Threading.Dispatcher.Run();
});
sta.SetApartmentState(ApartmentState.STA);
sta.Start();
}
关于c# - 在另一个线程中打开第二个 WPF 窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34365858/