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タグの間にa を追加しようとしました<GridViewColumn></GridViewColumn>が、存在しないようです。私もそれを中に追加しようとしましたが、運がGridViewColumn.CellTemplateありDataTemplateませんでした。

特定の列に対してどのように使用できるかについて何か提案はありContextMenuますか?c

4

1 に答える 1

3

の最初の子の中に追加する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>
于 2012-10-04T22:43:28.067 に答える