2011-10-10 18 views
12

Me preguntaba si había una forma de manejar un evento de Salida de Aplicación de WPF tal que se cancelara la salida. El caso de uso es que tengo una situación cliente-servidor donde el servidor es una aplicación WPF. Quiero que la aplicación WPF notifique al cliente cuando se está cerrando, pero cancele el proceso de apagado. El cliente debe recibir la notificación de cierre, hacer su propia limpieza requerida y luego solicitar el cierre de la aplicación WPF a través de una solicitud.Manejar un Evento de Salida de WPF

¿Esto es posible?

+0

¿Qué hace si el cliente no le pide al servidor que se apague? – Paparazzi

Respuesta

31

Usted puede enlazar el evento de clausura en su ventana principal como esto -

<Window Closing="Window_Closing"> 

Y en su caso establezca la e.Cancel true para detener la ventana se cierre. En su caso, puede mantener algún campo que se establecerá una vez que reciba la notificación del cliente de que ha terminado con la limpieza y ahora es seguro cerrar la ventana. Simplemente configure ese valor en e.Cancelar

private void Window_Closing(object sender, CancelEventArgs e) 
{ 
    e.Cancel = true; 
} 
Cuestiones relacionadas