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();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM