Application.Current.MainWindow.Close vs Application.Current.Shutdown

Pau*_*ich 7 wpf

应该Application.Current.Shutdown()不会被作为最佳实践关闭一个WPF应用程序?

我有一个小的多窗口应用程序,"关闭"似乎很好地适用于我的所有退出命令.但是,我被告知要经常使用Application.Current.MainWindow.Close().

H.B*_*.B. 6

MainWindow.Close如果ShutdownMode没有分别设置,甚至不会做任何事情.你可以做你想做的,它应该符合你的期望.

(Shutdown将忽略某些Closing事件被取消的事实,因此这是您需要考虑的一件事)

另外:

在以下情况下,Windows Presentation Foundation(WPF)会隐式调用Shutdown:

  • 当ShutdownMode设置为OnLastWindowClose时.

  • 当ShutdownMode设置为OnMainWindowClose时.

  • 当用户结束会话并且SessionEnding事件未处理或处理而没有取消时.