C# WPF菜单项单击事件调用两次而不是一次
我的XAML中有一个C# WPF菜单项单击事件调用两次而不是一次,c#,.net,wpf,C#,.net,Wpf,我的XAML中有一个菜单,如下所示 但是,MenuItem\u AddNewQuality\u Click()执行了两次。 然后我试着移除 但这一次没有执行任何事情。 那么,有谁能告诉我它有什么问题吗?如果您在事件处理程序中设置该事件已被处理,那么您将只调用它一次: private void MenuItem_AddNewQuality_Click(object sender, RoutedEventArgs e) { //.... e.Handled = true; }
菜单
,如下所示
但是,MenuItem\u AddNewQuality\u Click()
执行了两次。
然后我试着移除
但这一次没有执行任何事情。
那么,有谁能告诉我它有什么问题吗?如果您在事件处理程序中设置该事件已被处理,那么您将只调用它一次:
private void MenuItem_AddNewQuality_Click(object sender, RoutedEventArgs e)
{
//....
e.Handled = true;
}
另一种方法是将单击事件设置为所有嵌套菜单项的隐式样式(这是double call的功能),但在菜单项中显式设置:
<MenuItem Width="20" Height="20" x:Name="MenuItem_AddNewQuality" Click="MenuItem_AddNewQuality_Click">
根据应用程序的目标,可以采用或考虑一种或另一种解决方案作为变通方法。如果您认为所有解决方案都是可行的,那么请随意发布正确的解决方案。
<Style x:Key="MenItemStyle" TargetType="MenuItem">
<EventSetter Event="Click" Handler="MenuItem_AddNewQuality_Click"/>
</Style>
<MenuItem Style="{StaticResource ResourceKey=MenItemStyle}">