Подтвердить что ты не робот

Обработать событие выхода WPF

Мне было интересно, есть ли способ обработать событие выхода из WPF-приложения, чтобы выход был отменен. Вариант использования заключается в том, что у меня есть ситуация клиент-сервер, где сервер является WPF-приложением. Я хочу, чтобы приложение WPF уведомляло клиента, когда оно завершает работу, но отменит процесс останова. Клиент должен получить уведомление о завершении работы, выполнить свою необходимую очистку и затем попросить приложение WPF завершить работу с помощью запроса.

Возможно ли это?

4b9b3361

Ответ 1

Вы можете подключить событие Закрытие в своем главном окне, например:

<Window Closing="Window_Closing">

И в вашем случае установите для e.Cancel значение true, чтобы остановить закрытие окна. В вашем случае вы можете сохранить какое-то поле, которое будет установлено после того, как вы получите уведомление от клиента, которое он сделал с cleanUp, и его сейф теперь закрывает окно. Просто установите это значение на e.Cancel

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