关于WPF的退出

一、WPF启动窗口方法

public partial class App : Application
{
    protected override void OnStartup(StartupEventArgs e)
    {
        this.StartupUri = new Uri("MainWindow.xaml", UriKind.Relative);
        base.OnStartup(e);
    }
}

  

二、WPF退出窗口方法
1、关闭当前窗口

this.Close();

2、窗口关闭之前捕获消息,可以取消关闭窗口

this.Closing += (s, r) => { };

3、窗口关闭之后捕获消息

this.Closed += (s, r) => { }; 

4、强制退出,即使有其他的线程没有结束

Environment.Exit(0);

5、关闭当前程序,如果有其他线程没有结束,不会关闭

System.Windows.Application.Current.Shutdown();

WPF退出总结:Close -> Application.Current.ShutDow() -> Enviroment.Exit(0)

弱-----------------------------------------------------------------------------------------> 强

Close->退出系统时候要看App的ShutDownModel设置;

1、OnLastWindowClose(默认值)
最后一个窗体关闭或调用Application对象的Shutdown() 方法时,应用程序关闭。

2、OnMainWindowClose
启动窗体关闭或调用Application对象的Shutdown()方法时,应用程序关闭。(和C#的Windows应用程序的关闭模式比较类似)

3、OnExplicitShutdown
只有在调用Application对象的Shutdown()方法时,应用程序才会关闭。

示例:

Application.Current.Shutdown(-1); 
Application.Current.ShutdownMode=ShutdownMode.OnLastWindowClose; 

 如果系统有为释放的线程,或者先释放掉,或者调用Enviroment.Exit(0)

强制回收,关闭系统。 

  

posted @ 2018-09-01 11:28  microsoftzhcn  阅读(5486)  评论(0编辑  收藏  举报