使用下面的代码,我可以生成第二个窗口,但第二个窗口在初始化时立即关闭。我在这里做错了什么?
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();
}
答案 0 :(得分:3)
没关系,我找到了它!我没说: System.Windows.Threading.Dispatcher.Run(); 在整理结束时。
现在代码如下:
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();
}