2

我有一个多列的 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

4

1 回答 1

3

您应该将其添加到的第一个子项中DataTemplate(即,它必须是 a 的子项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>
于 2012-10-04T22:43:28.067 回答