我的ChildWindow
有一个关闭按钮和处理程序分配给Click
事件。 代码(仅供参考):
声明关闭按钮:
<Button x:Name="CloseButton" Click="OnCloseButtonClick" />
私有计数器(用于诊断问题):
private uint _i;
关闭事件处理程序:
OnCloseButtonClick(object sender, RoutedEventArgs e)
{
DialogResult = true;
System.Diagnostics.Debug(_i++);
}
快速点击程序后,程序会输出“1”、“2”、“3”等数字……
据我所知,在将DialogResult
设置为true
(或false
)之后,子窗口应该关闭,并且不应该有任何方式再次触发CloseButton的Click
事件。
有人能帮我找出问题的原因并帮助解决它吗,而不需要使用bool标志(executed/!executed)?
((Button)sender).IsEnabled=false
不是一个解决方案? - Bob Vale