c# wpf 资源中的ContextMenu如何设置ContextMenuOpening事件?

csth555 2016-09-03 08:21:56
为每个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事件?
...全文
557 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Vsian_ 2016-09-04
  • 打赏
  • 举报
回复
好像要绑定吧
csth555 2016-09-04
  • 打赏
  • 举报
回复
怎么没有人?
csth555 2016-09-04
  • 打赏
  • 举报
回复
引用 2 楼 BlackRose_ 的回复:
好像要绑定吧
绑定什么?

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧