我有一个上下文菜单 - 问题是我需要它只在单击列表视图项时才打开。现在,如果我单击列表视图或标题中的任何位置,它都会打开。
<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>
我不确定该如何将上下文菜单限制在仅列表项中并使命令生效。
DataContext
,然后是属性名称。 - Vyacheslav Volkov