我有一个包含多列的GridView。我想只在右键单击特定菜单中的项目时才显示ContextMenu。这是我到目前为止所做的:
<GridView>
<GridViewColumn>
<!-- Show context menu for this column -->
<GridViewColumn.CellTemplate>
<DataTemplate>
...
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn>
<!-- Do not show context menu for this column -->
<GridViewColumn.CellTemplate>
<DataTemplate>
...
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
我尝试在GridViewColumn.ContextMenu
标记之间添加<GridViewColumn></GridViewColumn>
但似乎不存在。我也尝试在GridViewColumn.CellTemplate
和DataTemplate
内添加它而没有任何运气。
关于如何为特定列提供ContextMenu
的任何建议?c
答案 0 :(得分:2)
您应该将其添加到DataTemplate
的第一个孩子中(即,它必须是FrameworkElement
的孩子。)
<GridViewColumn>
<!-- Show context menu for this column -->
<GridViewColumn.CellTemplate>
<DataTemplate>
<Grid>
<ContextMenuService.ContextMenu>
<ContextMenu>
<MenuItem Header="Menu Item" />
</ContextMenu>
</ContextMenuService.ContextMenu>
</Grid>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>