Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 19424|Yanıt: 0

[WPF] WPF pencereleri kapatır ve süreçleri

[Bağlantıyı kopyala]
Yayınlandı 8.12.2015 13:02:23 | | |
Birçok kişi, bir uygulamayı kapatmanın basit olması gerektiğini düşünür; örneğin bir Windows Form'unda Application.Exit() gibi; Yöntem sorunu çözebilir, ancak WPF'de kötüye kullanmayın, çünkü Uygulama sınıfında WPF'de bu yöntem yoktur, ancak bir Exit olay sürücüsü vardır ve WPF uygulamasında programı kapatmak çok dikkat gerektirir:

WPF uygulamasında kapanış, 3 enum türünün değerleriyle birlikte ShutdownMode özellik ayarına sahiptir:

1) OnLastWindowSon form kapandığında uygulamayı kapat

2) OnMainWindowUygulamanın ana formu kapalıyken uygulamayı kapatın

3) OnExplicitShutdown çağrının kapalı olduğunu gösteriyor

OnExplicitShutdown modunda, Uygulama örneğini çağıran ShutDown yöntemi gösterilmelidir

Örneğin: Application.Current.Shutdown(-1); Burada Application.Current, mevcut uygulamanın mevcut Uygulama örneğini döndürür.

         Yukarıdakilerin XBAP için geçerli olmadığını unutmayın; XBAP tarayıcı kapandığında otomatik olarak kapanır.

  1. <Window x:Class="WpfFistDemo.MainWindow"
  2.         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3.         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4.         Title="MainWindow" Height="350" Width="525" Loaded="windows_load" Closing="Window_Closing" >
  5.     <Grid>

  6.     </Grid>
  7. </Window>
Kopya kodu
  1. private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
  2.         {
  3.             System.Environment.Exit(System.Environment.ExitCode);
  4.         }
Kopya kodu
Pencere bir alt iş başlığı başlatırsa: Application.Current.Shutdown(); Uygulamanın System.Environment.Exit(System.Environment.ExitCode) sürecini kapatmaz; Bu, tüm çocuk süreçleri kapatır ve süreci bitirir!





Önceki:WPF ayarları ve başlatma parametrelerini almak
Önümüzdeki:.net, HttpListener kullanarak basit bir web sunucusu uygular
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com