WPF关闭应用程序,释放Window窗口资源方法
WindowsForm里一個Application.Exit();方法就可以關閉應用程序,釋放掉資源。
WPF里Application類沒有該方法,但是有一個Exit的事件驅動,在WPF應用程序里面關閉程序講究很多:
在WPF應用程序的關閉是有ShutdownMode屬性設置,具有3中枚舉類型的值:
1)OnLastWindowClose 應用程序最后一個窗體關閉時關閉應用程序
2)OnMainWindowClose 應用程序主窗體關閉時關閉應用程序
3)OnExplicitShutdown?? 顯示調用關閉
在OnExplicitShutdown模式下必須顯示調用Application實例的ShutDown方法
例如:Application.Current.Shutdown(-1);
Application.Current.ShutdownMode=ShutdownMode.OnLastWindowClose;
這里Application.Current返回當前應用程序的當前Application實例。
注意以上不適應XBAP,XBAP在瀏覽器關閉時自動關閉。
例如在.cs里面
??? protected override void OnClosed(EventArgs e)
??????? {
??????????? //Application.Current.ShutdownMode = ShutdownMode.OnMainWindowClose;
??????????? //if (this.IsAfreshLogin == true) return;
??????????? Application.Current.Shutdown();
??????????? base.OnClosed(e);
??????? }
另外,還有一種強制終止應用程序進程的方法
Environment.Exit(0)可以立即中斷程序執行并退出
這個方法用起來的感覺類似在任務管理器里找到進程并終止,即立刻關閉進程,不管該進程目前有沒有工作,在做什么工作。
在WPF中調用該方法即立即退出,不會等待當前工作完成。
需求:需要在許多子窗體中關閉整個程序(WPF)
winform實現:Application.Exit();
轉載于:https://www.cnblogs.com/GeneralKING/archive/2012/08/24/2654657.html
總結
以上是生活随笔為你收集整理的WPF关闭应用程序,释放Window窗口资源方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Table doesn't have a
- 下一篇: 泰拉瑞亚世纪花苞怎么找?