关闭C#WPF应用程序的首选方法是什么?
1)在主窗口中调用Window.Close()
2)在主窗口中调用Application.Current.Shutdown(0)。
这两个在语义上是等价的还是我需要注意的微妙区别?
答案 0 :(得分:4)
第一个关闭窗口,具体取决于您的Application.ShutdownMode
甚至可能无法关闭应用程序。
退出应用程序的方式完全取决于您想要做什么,我倾向于定义Application.MainWindow
并将ShutdownMode
设置为OnMainWindowClose
所以所有小对话都不会阻止应用程序关闭(因为默认值为OnLastWindowClose
)。
答案 1 :(得分:3)
绝对Window.Close();
这将使所有其他窗口正确关闭并最终确定其可支配资源。请注意,您应该在主窗口上调用此选项以关闭整个应用程序(即主窗口中的this.Close();
)。
答案 2 :(得分:0)
Application.Shutdown
关闭所有打开的窗口并处理它们,您也可以返回另一个退出代码。所以我(通常)选择Application.Shutdown
。