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

时间:2012-02-29 19:47:51

标签: wpf

是否{@ 1}}不能用作关闭WPF应用程序的最佳做法?

我有一个小的多窗口应用程序,“shutdown”似乎可以很好地用于我的所有退出命令。但是,我被告知要始终使用Application.Current.Shutdown()

1 个答案:

答案 0 :(得分:6)

如果未分别设置ShutdownMode,则

MainWindow.Close甚至不会执行任何操作。你可以做你想做的事情,它应该符合期望的

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

Also

  

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

     
      
  • 当ShutdownMode设置为OnLastWindowClose。

  •   
  • 当ShutdownMode设置为OnMainWindowClose。

  •   
  • 当用户结束会话并且SessionEnding事件未处理或未经取消处理时。

  •