Много хора смятат, че затварянето на приложение трябва да е просто, например Application.Exit() във форма за Windows; Методът може да реши проблема, но не го злоупотребявайте в WPF, защото класът Application няма този метод в WPF, но има драйвер за Exit събитие, а затварянето на програмата в WPF приложението обръща голямо внимание:
Затварянето в WPF приложение има настройка за свойства ShutdownMode, с стойностите на трите типа enum:
1) OnLastWindowЗатвори заявлението, когато последната форма е затворена
2) OnMainWindowЗатвори приложението, когато основната форма на приложението е затворена
3) OnExplicitShutdown показва, че разговорът е затворен
В режим OnExplicitShutdown методът ShutDown, който извиква екземпляра на приложението, трябва да бъде показан
Например: Application.Current.Shutdown(-1); Тук Application.Current връща текущия Application instance на текущото приложение.
Обърнете внимание, че горното не важи за XBAP, който автоматично се затваря при затваряне на браузъра.
- <Window x:Class="WpfFistDemo.MainWindow"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- Title="MainWindow" Height="350" Width="525" Loaded="windows_load" Closing="Window_Closing" >
- <Grid>
- </Grid>
- </Window>
Копирай код- private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
- {
- System.Environment.Exit(System.Environment.ExitCode);
- }
Копирай код Ако прозорецът стартира поднишка: Application.Current.Shutdown(); Не изключва процеса на приложението, System.Environment.Exit(System.Environment.ExitCode); Това ще затвори всички детски процеси и ще приключи самия процес!
|