Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 19424|Відповідь: 0

[WPF] WPF закриває вікна та обробляє процеси

[Копіювати посилання]
Опубліковано 08.12.2015 13:02:23 | | |
Багато хто вважає, що закриття додатку має бути простим, наприклад, Application.Exit() у формі Windows; Метод може вирішити проблему, але не зловживайте нею у WPF, оскільки клас Application не має цього методу у WPF, але є драйвер події Exit, і закриття програми в додатку WPF приділяє багато уваги:

Закриття в WPF-додатку має властивість ShutdownMode із значеннями трьох типів enum:

1) OnLastWindowЗакрити заявку, коли остання форма закрита

2) OnMainWindowЗакрити заявку, коли основна форма додатку закрита

3) OnExplicitShutdown показує, що дзвінок закрито

У режимі OnExplicitShutdown має бути відображений метод ShutDown, який викликає екземпляр Application.

Наприклад: Application.Current.Shutdown(-1); Тут Application.Current повертає поточний екземпляр Application поточної програми.

         Зверніть увагу, що вищезазначене не стосується XBAP, який автоматично закривається при закритті браузера.

  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>
Копія коду
  1. private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
  2.         {
  3.             System.Environment.Exit(System.Environment.ExitCode);
  4.         }
Копія коду
Якщо вікно запускає підпотік: Application.Current.Shutdown(); Не зупиняє процес додатку, System.Environment.Exit(System.Environment.ExitCode); Це закриє всі дочірні процеси і завершить процес!





Попередній:Налаштування WPF і отримання параметрів запуску
Наступний:.net реалізує простий веб-сервер за допомогою HttpListener
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com