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

Jam*_*ing 27 wpf .net-4.0 visual-c#-express-2010 c#-4.0

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

WPF未正确关闭

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

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

我没有在后台运行任何其他线程所以我知道它不是在等待别的东西.

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

谢谢您的帮助!

Ken*_*art 41

什么是关机模式?如果它是明确的,那是因为你没有明确地关闭.如果它是主窗口,那是因为你没有指定主窗口Application.MainWindow.

  • 谢谢!我从来不知道关闭应用程序会有不同的行为.我只是将"ShutdownMode ="OnMainWindowClose""添加到我的应用程序的XAML中,如链接中所述,它就像一个魅力! (4认同)

小智 10

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

Application.Current.Shutdown()
Run Code Online (Sandbox Code Playgroud)

  • 我没有关闭按钮,但是通过点击 x 它将调用 Closed 事件,这对我来说效果很好: this.Closed += (s,e) => Application.Current.Shutdown(); (3认同)