Каков предпочтительный метод программного закрытия приложения C # WPF? - PullRequest
8 голосов
/ 07 июня 2011

Какой предпочтительный метод закрытия приложения C # WPF?

1) вызов Window.Close () в главном окне

2) Вызов Application.Current.Shutdown (0)в главном окне.

Являются ли эти два семантически эквивалентными или есть тонкое различие, о котором мне нужно знать?

Ответы [ 3 ]

5 голосов
/ 07 июня 2011

Первое закрывает окно только в зависимости от того, что Application.ShutdownMode может даже не завершить работу приложения.

Способ выхода из приложения зависит исключительно от того, что вы хотите сделать,Я, например, стремлюсь определить Application.MainWindow и установить ShutdownMode на OnMainWindowClose, чтобы все маленькие диалоги не препятствовали закрытию приложения (так как по умолчанию OnLastWindowClose).

3 голосов
/ 07 июня 2011

Определенно Window.Close(); Это даст всем другим окнам возможность корректно завершить работу и завершить использование имеющихся ресурсов. Обратите внимание, что вы должны вызывать это в главном окне, чтобы закрыть все приложение (т.е. this.Close(); из главного окна).

0 голосов
/ 07 июня 2011

Application.Shutdown закрывает все открытые окна и удаляет их, также у вас есть возможность вернуть другой код выхода.Так что я бы (обычно) пошел с Application.Shutdown.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...