2010-08-22 20 views
19

Esta cifra es ligeramente relacionado con la pregunta hecha aquí todavía la respuesta no se aplica a mi caso, ya que no estoy usando hilos:Aplicación WPF aún se ejecuta en segundo plano después de cerrar

WPF Not closing properly

He convertido una de mi aplicación WinForm a una aplicación WPF, no se necesita hacer nada drástico a excepción de cambiar algunas palabras a los equivalentes de WPF/C# 4.0 (MessageBoxButtons to MessageBoxButton, ¿por qué la diferencia de una letra?).

De todos modos, si ejecuto la aplicación a través del depurador, funciona bien hasta que cierro con el botón "X" en la parte superior derecha de la ventana. La ventana de la aplicación se cierra pero me di cuenta de que el depurador aún muestra el ícono de detener, al registrar el Administrador de tareas confirma que aún se está ejecutando.

No estoy ejecutando ningún otro hilo en el fondo, así que sé que no está esperando algo más.

Acabo de comenzar con WPF, pero asumí que cuando el usuario cierra la aplicación, debería ... ¿cerrar?

¡Gracias por la ayuda!

Respuesta

33

¿Cuál es su shutdown mode? Si es explícito, es porque no estás cerrando explícitamente. Si es la ventana principal, es porque no ha asignado la ventana principal al Application.MainWindow.

+2

Gracias! Nunca supe que había comportamientos diferentes para cerrar una aplicación. Simplemente agregué "ShutdownMode =" OnMainWindowClose "" al XAML de mi aplicación como se indica en su enlace y funcionó a las mil maravillas. –

9

escribir este código en el botón de cierre de solicitudes:

Application.Current.Shutdown() 
+1

No tenía un botón de cierre pero al presionar la x llamará al evento Cerrado y esto funcionó bien para mí: esto. Cerrado + = (s, e) => Application.Current.Shutdown(); – Despertar

Cuestiones relacionadas