WPF:关闭窗口后关闭应用程序

WPF:关闭窗口后关闭应用程序,wpf,Wpf,我是新来的WPF。我有两个窗口正在app.xaml.cs中打开 在app.xaml.cs中,我打开w1并在一些操作后关闭w1。然后w2自动打开。详情如下: public partial class App : Application { public App() { w1 a = new w2(); a.ShowDialog(); a = null; w2 b = new w2(); b.ShowD

我是新来的
WPF
。我有两个窗口正在
app.xaml.cs
中打开

app.xaml.cs
中,我打开
w1
并在一些操作后关闭
w1
。然后
w2
自动打开。详情如下:

public partial class App : Application
{
    public App()
    {
        w1 a = new w2();
        a.ShowDialog();
        a = null;

        w2 b = new w2();
        b.ShowDialog();
        b = null;
    }
}
a
关闭后,b不显示,应用程序正在关闭

c#
中,这些代码在
program.cs
中工作。什么是尊重?我应该怎么做?

请看以下内容:

在您的情况下,我想您应该使用
OnExplicitShutdown
,然后在第二个窗口关闭后调用。

请参见:


在您的情况下,我想您应该使用
OnExplicitShutdown
,然后在第二个窗口关闭后调用。

您可以向第一个窗口添加一个事件,该事件将在第二个窗口关闭后打开,类似于以下内容:

    public partial class App : Application
    {
        public App()
        {
            w1 a = new w2();
            a.Closed += a_Closed;
            a.ShowDialog();
            a = null;
        }
    }
然后在第一个窗口的关闭事件下创建第二个窗口:

    private void a_Closed(object sender, EventArgs e)
    {
        w2 b = new w2();
        b.ShowDialog();
        b = null; ;
    }

您可以向第一个窗口添加一个事件,该事件将在第二个窗口关闭后打开,类似于以下内容:

    public partial class App : Application
    {
        public App()
        {
            w1 a = new w2();
            a.Closed += a_Closed;
            a.ShowDialog();
            a = null;
        }
    }
然后在第一个窗口的关闭事件下创建第二个窗口:

    private void a_Closed(object sender, EventArgs e)
    {
        w2 b = new w2();
        b.ShowDialog();
        b = null; ;
    }

Application.Current.ShutdownMode=System.Windows.ShutdownMode.OnExplicitShutdown;ThanxApplication.Current.ShutdownMode=System.Windows.ShutdownMode.OnExplicitShutdown;这是可行的,但蒂莫西·加内姆的解决方案看起来更标准。谢谢你的回答。这是可行的,但蒂莫西·加内姆的解决方案看起来更标准。谢谢你的回答。