Обработать событие выхода WPF
Мне было интересно, есть ли способ обработать событие выхода из WPF-приложения, чтобы выход был отменен. Вариант использования заключается в том, что у меня есть ситуация клиент-сервер, где сервер является WPF-приложением. Я хочу, чтобы приложение WPF уведомляло клиента, когда оно завершает работу, но отменит процесс останова. Клиент должен получить уведомление о завершении работы, выполнить свою необходимую очистку и затем попросить приложение WPF завершить работу с помощью запроса.
Возможно ли это?
Ответы
Ответ 1
Вы можете подключить событие Закрытие в своем главном окне, например:
<Window Closing="Window_Closing">
И в вашем случае установите для e.Cancel значение true, чтобы остановить закрытие окна. В вашем случае вы можете сохранить какое-то поле, которое будет установлено после того, как вы получите уведомление от клиента, которое он сделал с cleanUp, и его сейф теперь закрывает окно. Просто установите это значение на e.Cancel
private void Window_Closing(object sender, CancelEventArgs e)
{
e.Cancel = true;
}