【发布时间】:2013-09-26 02:27:47
【问题描述】:
我有一个上下文菜单 - 问题是我需要它仅在单击 listviewitem 时打开。现在,如果我单击列表视图或标题中的任意位置,它将打开。
<ListView>
<ListView.ContextMenu>
<ContextMenu>
<MenuItem Header="More Info" Command="{Binding MoreInfo}" />
</ContextMenu>
</ListView.ContextMenu>
<ListView.View>
<GridView>
<!-- columns and stuff here -->
</GridView>
</ListView.View>
</ListView>
我已尝试将 ContextMenu 添加为资源并将其应用为样式,但这会破坏命令(单击更多信息应打开一个对话框窗口,这种方式不起作用)
<ListView.Resources>
<ContextMenu x:Key="ItemContextMenu">
<MenuItem Header="More Info" Command="{Binding MoreInfo}" Background="WhiteSmoke" />
</ContextMenu>
</ListView.Resources>
<ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}" >
<Setter Property="ContextMenu" Value="{StaticResource ItemContextMenu}" />
</Style>
</ListView.ItemContainerStyle>
所以不确定如何将上下文菜单限制为仅 listviewitem 并让命令起作用。
【问题讨论】:
标签: c# wpf contextmenu listviewitem