H.B*_*.B. 7 wpf setter events xaml styles
我有一个ListView
,我想设置一个上下文菜单,我不仅可以打开一些列中的某些文本,但是在任何地方都可以打开ListViewItem
,这样做我认为我只是设置我ContextMenu
使用样式设置器我不能直接访问ListViewItem
.
不幸的是,当您尝试这样做时,它将无法编译:
<Style TargetType="ListViewItem">
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu>
<MenuItem Header="Header" Click="Handler"/>
...
</ContextMenu>
</Setter.Value>
</Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)
错误102'处理程序'无效.'Click'不是'System.Windows.Controls.GridView'上的事件.
我想,你可以通过使用避免这种情况EventSetter
的Click
-event.但很明显,代码从你需要的所有包装标签中得到了充分的膨胀.
我的问题是,如果有一些解决方法,所以你不必处理EventSetters
.
编辑:请参阅此问题以获取有关此错误发生原因的说明.
Fre*_*lad 10
你可以把它ContextMenu
放在ListView
's资源中然后用它作为一个静态资源,那样你就不必使用一个样式了MenuItem
.
<ListView ...>
<ListView.Resources>
<ContextMenu x:Key="listViewContextMenu">
<MenuItem Header="Header" Click="MenuItem_Click"/>
</ContextMenu>
</ListView.Resources>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="ContextMenu" Value="{StaticResource listViewContextMenu}"/>
</Style>
</ListView.ItemContainerStyle>
<!--...-->
</ListView>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2795 次 |
最近记录: |