很多人認為關閉應用程式應該很簡單,例如WindowsForm裡一個Application.Exit();方法就可以解決問題,但在WPF裡面可别濫用,因為WPF裡Application類沒有該方法,倒是有一個Exit的事件驅動,在WPF應用程式裡面關閉程式講究很多:
在WPF應用程式的關閉是有ShutdownMode屬性設定,具有3中枚舉類型的值:
1)OnLastWindowClose 應用程式最後一個窗體關閉時關閉應用程式
2)OnMainWindowClose 應用程式主窗體關閉時關閉應用程式
3)OnExplicitShutdown 顯示調用關閉
在OnExplicitShutdown模式下必須顯示調用Application執行個體的ShutDown方法
例如:Application.Current.Shutdown(-1);這裡Application.Current傳回目前應用程式的目前Application執行個體。
注意以上不适應XBAP,XBAP在浏覽器關閉時自動關閉。
設定:
App.xaml檔案:
<Application x:Class="pc.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="Windows1.xaml" ShutdownMode="OnExplicitShutdown">
Window.xaml File:
private void btn_Exits_Click(object sender, RoutedEventArgs e)
{
Application.Current.Shutdown();
}