WPF应用程序在关闭后仍然在后台运行

时间:2010-08-22 22:22:47

标签: wpf .net-4.0 c#-4.0 visual-c#-express-2010

这与此处提出的问题略有关系但答案不适用于我的情况,因为我没有使用线程:

WPF Not closing properly

我已经将我的一个WinForm应用程序转换为WPF应用程序,除了将几个单词更改为WPF / C#4.0等效(MessageBoxButtons到MessageBoxButton,为什么一个字母不同?)时,没有什么需要做的。 p>

无论如何,如果我通过调试器运行应用程序它运行正常,直到我用窗口右上角的“X”按钮关闭它。应用程序窗口关闭,但我注意到调试器仍显示停止图标,检查任务管理器确认它仍在运行。

我没有在后台运行任何其他线程,所以我知道它不会等待其他东西。

我刚刚开始使用WPF,但我认为当用户关闭应用程序时,它应该只是......关闭?

感谢您的帮助!

3 个答案:

答案 0 :(得分:37)

你的shutdown mode是什么?如果它是明确的,那是因为你没有明确地关闭。如果是主窗口,那是因为您没有将主窗口分配给Application.MainWindow

答案 1 :(得分:9)

将此代码写在应用程序关闭按钮上:

Application.Current.Shutdown()

答案 2 :(得分:2)

或者,将其添加到App.cs

public App()
    {
        ShutdownMode = ShutdownMode.OnLastWindowClose;
    }

Detailed explanation here