En su MainWindow.xaml.cs, intente hacer esto:
protected override void OnClosed(EventArgs e)
{
base.OnClosed(e);
Application.Current.Shutdown();
}
Según este enlace, también puede configurar ShutdownModeen XAML:
http://msdn.microsoft.com/en-us/library/system.windows.application.shutdownmode.aspx
<Application
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml"
ShutdownMode="OnExplicitShutdown"
>
</Application>
Las aplicaciones dejan de ejecutarse solo cuando se llama al Shutdownmétodo de Application. El cierre puede ocurrir implícita o explícitamente, según lo especificado por el valor de la ShutdownModepropiedad.
Si lo establece ShutdownModeen OnLastWindowClose, Windows Presentation Foundation (WPF) llama implícitamente a Shutdown cuando se cierra la última ventana de una aplicación, incluso si alguna de las ventanas instanciadas actualmente está configurada como la ventana principal (consulte MainWindow).
Una ShutdownModede OnMainWindowClosehace que WPF llame implícitamente a Shutdown cuando se cierra MainWindow, incluso si hay otras ventanas abiertas.
La vida útil de algunas aplicaciones puede no depender de cuándo se cierra la ventana principal o la última ventana, o puede que no dependa en absoluto de las ventanas. Para estos escenarios, debe establecer la ShutdownModepropiedad en OnExplicitShutdown, que requiere una Shutdownllamada de método explícita para detener la aplicación. De lo contrario, la aplicación continúa ejecutándose en segundo plano.
ShutdownMode se puede configurar de forma declarativa desde XAML o mediante programación desde el código.
Esta propiedad solo está disponible en el hilo que creó el Applicationobjeto.
En su caso, la aplicación no se cierra porque probablemente esté usando el valor predeterminado OnLastWindowClose:
Si lo establece ShutdownModeen OnLastWindowClose, WPF llama implícitamente a Shutdown cuando se cierra la última ventana de una aplicación, incluso si alguna de las ventanas instanciadas actualmente está configurada como la ventana principal (consulte MainWindow).
Dado que abre una nueva ventana y no la cierra, no se llama al cierre.