【发布时间】:2011-01-20 20:34:30
【问题描述】:
我有一个ListView,我想设置一个上下文菜单,我不仅可以在右键单击某些列中的某些文本时打开它,还可以在ListViewItem 上的任何位置打开它,这样做我想我' d 只需使用样式设置器设置我的ContextMenu,因为我无法直接访问ListViewItem。
不幸的是,当您尝试这样做时,它不会编译:
<Style TargetType="ListViewItem">
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu>
<MenuItem Header="Header" Click="Handler"/>
...
</ContextMenu>
</Setter.Value>
</Setter>
</Style>
错误 102“处理程序”无效。 “点击”不是事件 'System.Windows.Controls.GridView'。
我认为您可以通过为 Click 事件使用 EventSetter 来避免这种情况。但很明显,代码因您需要的所有包装标签而变得相当膨胀。
我的问题是是否有一些解决方法,这样您就不必处理EventSetters。
编辑:请参阅this question,了解为什么会出现此错误。
【问题讨论】:
标签: wpf events xaml styles setter