Veliko ljudi meni, da bi moralo biti zapiranje aplikacije preprosto, na primer Application.Exit() v Windows obrazcu; Metoda lahko reši težavo, vendar je ne zlorabljajte v WPF, ker razred Application te metode nima v WPF, vendar obstaja gonilnik Exit dogodkov, zapiranje programa v aplikaciji WPF pa namenja veliko pozornosti:
Zaprtje v aplikaciji WPF ima nastavitev lastnosti ShutdownMode, z vrednostmi treh vrst enumov:
1) OnLastWindowZaprite prijavo, ko je zadnji obrazec zaprt
2) OnMainWindowZaprite aplikacijo, ko je glavni obrazec aplikacije zaprt
3) OnExplicitShutdown prikazuje klic zaprt
V načinu OnExplicitShutdown je treba prikazati metodo ShutDown, ki kliče instanco aplikacije
Na primer: Application.Current.Shutdown(-1); Tukaj Application.Current vrne trenutno instanco aplikacije trenutne aplikacije.
Upoštevajte, da zgoraj navedeno ne velja za XBAP, ki se samodejno zapre, ko je brskalnik zaprt.
- <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>
Kopiraj kodo- private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
- {
- System.Environment.Exit(System.Environment.ExitCode);
- }
Kopiraj kodo Če okno začne podnit: Application.Current.Shutdown(); Ne izklopi procesa aplikacije, System.Environment.Exit(System.Environment.ExitCode); To bo zaprlo vse otroške procese in končalo proces!
|