Является ли Window.Close() синхронным в WPF?

Как гласит заголовок, мне было интересно, является ли метод Close() в окне синхронным или нет.

Я просмотрел msdn, но не смог найти ответ.

Заранее спасибо за ваши ответы

1 ответ

Window.Close() синхронно в WPF.

Вы можете достаточно легко протестировать, добавив обработчики событий в Closing или же Closed события и отслеживать выполнение:

private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{            
    Debug.WriteLine("Closing");
    this.Closing += OnClosing;
    this.Closed += OnClosed;
    this.Close();
    Debug.WriteLine("Closed");
}

private void OnClosed(object sender, EventArgs eventArgs)
{
    Debug.WriteLine("In OnClosed");
}

private void OnClosing(object sender, CancelEventArgs cancelEventArgs)
{
    Debug.WriteLine("In OnClosing");
}

Это распечатает:

Closing
In OnClosing
In OnClosed
Closed
Другие вопросы по тегам