2

正如标题所述,我想知道窗口上的 Close() 方法是否是同步的。

我浏览了 msdn,但找不到答案。

提前感谢您的回复

4

1 回答 1

4

Window.Close()在 WPF 中是同步的。

Closing您可以通过向or事件添加事件处理程序来轻松地进行测试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
于 2013-06-12T18:37:59.603 回答