c# wpf 资源中的ContextMenu如何设置ContextMenuOpening事件?
为每个ListViewItem控件设置了右键菜单,现在我想实现ContextMenuOpening事件触发时根据【selecteditems.Count是否大于1】而决定是否隐藏部分右键菜单选项,由于设置右键菜单的控件是ListViewitem,此控件不是静态的,是根据绑定的数据而动态的增加的。所以只能在样式中设置listViewitem的ContextMenu。在资源中写了ContextMenu的样式,以及Opening事件。
在Opening事件触发时判断selecteditems.Count是否大于1,若大大于1,就显示已经隐藏的右键菜单选项
下文中的xaml代码,运行时提示报错。提示Style="{StaticResource ContextStyte}"这里报错,报错主要说明是【无法解析资源 ContextStyte 】
<Style x:Key="listItemStyte" TargetType="{x:Type ListViewItem}" x:Name="listviewitemStyte" >
<Setter Property="Margin" Value="4"/>
<Setter Property="Header" Value="{Binding Path=Name}"></Setter>
<Setter Property="ContextMenu" >
<Setter.Value>
<ContextMenu x:Name="ItemViewRightMenu" ItemContainerStyle="{StaticResource listViewRightClickMenuKey}"
Style="{StaticResource ContextStyte}" > //运行时提示Style="{StaticResource ContextStyte}"报错,报错主要说明是【无法解析资源 ContextStyte 】
<MenuItem Header="确认">
</MenuItem>
<MenuItem Header="不是" ></MenuItem>
</ContextMenu>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="ContextStyte" TargetType="{x:Type ContextMenu}" >
<EventSetter Event="ContextMenuOpening" Handler="ItemHide_Opening"></EventSetter>
</Style>
求解决此问题, 到底怎么才能为ListViewitem的ContextMenu设置ContextMenuOpening事件?