问题
This is slightly related to the question asked here yet the answer does not apply to my case as I am not using threads:
WPF Not closing properly
I have converted one of my WinForm application to a WPF application, nothing drastic needed to be done except for change a few words to the WPF/C# 4.0 equivalents (MessageBoxButtons to MessageBoxButton, why the one letter difference?).
Anyway, if I run the application through the debugger it runs fine until I come to close it with the "X" button to the top right of the window. The application window closes but I noticed that the debugger still shows the stop icon, checking in the Task Manager confirms it is still running.
I am not running any other threads in the background so I know it's not waiting for something else.
I've only just started with WPF but I assumed that when the user closes the application then it should just...close?
Thanks for the help!
回答1:
What is your shutdown mode? If it's explicit, then it's because you're not explicitly shutting down. If it's main window, it's because you've not assigned the main window to Application.MainWindow
.
回答2:
Write this code on application closing button:
Application.Current.Shutdown()
回答3:
alternatively, add this to your App.cs
public App()
{
ShutdownMode = ShutdownMode.OnLastWindowClose;
}
Detailed explanation here
来源:https://stackoverflow.com/questions/3543704/wpf-application-still-runs-in-background-after-closing