34
votes

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!

3

3 Answers

48
votes

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.

15
votes

Write this code on application closing button:

Application.Current.Shutdown()
2
votes

alternatively, add this to your App.cs

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

Detailed explanation here