Paljud arvavad, et rakenduse sulgemine peaks olema lihtne, näiteks Windowsi vormis Application.Exit() kasutamine; Meetod suudab probleemi lahendada, kuid ära kuritarvita seda WPF-is, sest rakendusklassil seda meetodit WPF-is ei ole, kuid seal on Exit-sündmuse draiver ning programmi sulgemine WPF rakenduses nõuab suurt tähelepanu:
WPF rakenduse sulgemisel on ShutdownMode omaduse seadistus, kus on kolme enum-tüübi väärtused:
1) Viimase akna juuresSulge avaldus, kui viimane vorm on suletud
2) MainWindowSulge rakendus, kui rakenduse põhivorm on suletud
3) OnExplicitShutdown näitab kõne suletud
OnExplicitShutdown režiimis tuleb kuvada ShutDown meetod, mis kutsub rakenduse instantsi.
Näiteks: Application.Current.Shutdown(-1); Siin tagastab Application.Current praeguse rakenduse praeguse rakenduse eksemplari.
Pane tähele, et eelnev ei kehti XBAP-i kohta, mis sulgub automaatselt, kui brauser suletakse.
- <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>
Kopeeri kood- private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
- {
- System.Environment.Exit(System.Environment.ExitCode);
- }
Kopeeri kood Kui aken käivitab alamteema: Application.Current.Shutdown(); Ei sulge rakenduse protsessi, System.Environment.Exit(System.Environment.ExitCode); See sulgeb kõik lapseprotsessid ja lõpetab protsessi!
|