这与此处提出的问题略有关系但答案不适用于我的情况,因为我没有使用线程:
我已经将我的一个WinForm应用程序转换为WPF应用程序,除了将几个单词更改为WPF / C#4.0等效(MessageBoxButtons到MessageBoxButton,为什么一个字母不同?)时,没有什么需要做的。 p>
无论如何,如果我通过调试器运行应用程序它运行正常,直到我用窗口右上角的“X”按钮关闭它。应用程序窗口关闭,但我注意到调试器仍显示停止图标,检查任务管理器确认它仍在运行。
我没有在后台运行任何其他线程,所以我知道它不会等待其他东西。
我刚刚开始使用WPF,但我认为当用户关闭应用程序时,它应该只是......关闭?
感谢您的帮助!
答案 0 :(得分:37)
你的shutdown mode是什么?如果它是明确的,那是因为你没有明确地关闭。如果是主窗口,那是因为您没有将主窗口分配给Application.MainWindow
。
答案 1 :(得分:9)
将此代码写在应用程序关闭按钮上:
Application.Current.Shutdown()
答案 2 :(得分:2)
或者,将其添加到App.cs
public App()
{
ShutdownMode = ShutdownMode.OnLastWindowClose;
}