Tengo una aplicación C# WPF que necesita guardar datos cuando se cierra. Los eventos de cierre de ventana/cerrado funcionan bien si el usuario cierra el programa, pero no reciben una llamada si el usuario cierra la sesión/apaga la computadora.Evento de cierre de ventanas de captura en una aplicación wpf
He encontrado formas de atrapar este evento en los programas de winforms (here y here). pero no puedo entender cómo lograr esto en una aplicación WPF.
Estoy tratando de detener el cierre hasta que mi programa está listo para salir
Eso detendrá completamente el apagado del equipo, estoy tratando de detener el apagado hasta que mi programa esté listo para salir. Lo siento, debería haber especificado eso en el OP. – zaza
Realmente no entiendo ... este evento en sí no hace nada ... si su código tarda mucho en responder, Windows le preguntará al usuario si quiere matar a su aplicación que realmente no puede evitar ... su aplicación debe ser rápido al manejar este evento ... podrías intentar decirle a Windows que no se apague (configurando 'e.Cancel = true;' en el controlador de eventos) ... – Yahia
ops sry, fue un malentendido de mi parte. Pensé que tenía que cancelar el evento SessionEndingCancelEventArgs antes de poder llamar eventos en mi aplicación. tu solución funciona perfectamente – zaza