Когда пользователь нажимает x, чтобы закрыть окно приложения, я хочу открыть сообщение «Завершение работы, пожалуйста, подождите», а затем выделите серый цвет или отключите остальные элементы управления окна.
Это потому, что закрытие и очистка моего приложения занимает некоторое время, около 20 секунд.
Однако команды wpf в обработчике событий Window_Closing, похоже, никогда ничего не делают. У меня есть прозрачная серая заливка, которая перекрывает элементы управления окна, и я хочу изменить видимость с свернутой на видимую. Код называется, но ничего не меняется.
Это как если бы запрос был поставлен в очередь, но не вызывается, потому что окно закрывается.
Есть ли какой-нибудь способ очистить этот запрос?
Edit:
Попробуйте этот код:
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
_DisableBorder.Visibility = System.Windows.Visibility.Visible;
Thread.Sleep(2000);
}
Приложение закроется через 2 секунды, но граница никогда не будет отображаться. Если вы добавите e.Cancel = true, то граница появится через 2 секунды.