В настоящее время я пишу приложение WPF, которое обрабатывает аргументы командной строки в App.xaml.cs(что необходимо, поскольку событие Startup, по-видимому, является рекомендуемым способом получения этих аргументов). Основываясь на аргументах, я хочу выйти из программы в тот момент, который, насколько мне известно, должен быть выполнен в WPF с помощью Application.Current.Shutdown()
или в этом случае (как я есть в текущем объекте приложения), вероятно, также просто this.Shutdown()
.
Единственная проблема заключается в том, что это, похоже, не работает правильно. Я прошел через отладчик и код после того, как строка Shutdown()
все еще выполняется, что приводит к ошибкам впоследствии в методе, так как я ожидал, что приложение не будет так долго жить. Также загружается главное окно (объявленное в атрибуте StartupUri в XAML).
Я проверил документацию по этому методу и ничего не нашел в замечаниях, которые говорят мне, что я не должен использовать его во время Application.Startup
или Application
вообще.
Итак, каков правильный способ выхода из программы в этот момент, т.е. е. обработчик события Startup
в объекте Application
?