Если вы действительно хотите получить подтверждение закрытия, я думаю, что лучше всего понять жизненный цикл окна и соответствующие события, которые оно вызывает.
Однако, на мой взгляд, лучшим источником подтверждения является Closed
Событие. Другие базовые способы могут быть ненадежными
Закрытие мероприятий
Когда окно закрывается, оно вызывает два события: Закрытие и Закрытие .
Закрытие поднимается до закрытия окна, и оно обеспечивает
механизм, с помощью которого можно предотвратить закрытие окна. Одна общая причина
чтобы предотвратить закрытие окна, если содержимое окна содержит измененные данные.
В этой ситуации событие закрытия может быть обработано для определения
загрязнены ли данные и, если да, спросить пользователя
продолжить закрытие окна без сохранения данных или отменить
закрытие окна В следующем примере показаны ключевые аспекты
Закрытие обработки.
Далее больше
Обработчику события Closing передается объект CancelEventArgs, который
реализует свойство BooleanCancel, которое вы установили в true, чтобы предотвратить
окно закрывается. +
Если закрытие не обрабатывается или обрабатывается, но не отменяется,
Окно закроется. Непосредственно перед тем, как окно действительно закрывается,
поднял. На этом этапе нельзя предотвратить закрытие окна.
Примечание
Хотя окно может быть явно закрыто с помощью механизмов, предоставленных в
в не-клиентской и клиентской областях окно также может быть неявно
закрыто в результате поведения в других частях приложения или
Windows, в том числе:
Пользователь выходит из системы или закрывает Windows.
Владелец окна закрывается.
Главное окно приложения закрывается, а ShutdownMode имеет значение OnMainWindowClose.
Выключение вызывается.
Все события жизни окна
На следующем рисунке показана последовательность основных событий за время жизни окна.

На следующем рисунке показана последовательность основных событий в течение времени жизни окна, которое отображается без активации (ShowActivation устанавливается в значение false перед отображением окна).
