Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 仅在特定GridViewColumn中单击鼠标右键时显示关联菜单_C#_Wpf_Xaml_Gridview_Contextmenu - Fatal编程技术网

C# 仅在特定GridViewColumn中单击鼠标右键时显示关联菜单

C# 仅在特定GridViewColumn中单击鼠标右键时显示关联菜单,c#,wpf,xaml,gridview,contextmenu,C#,Wpf,Xaml,Gridview,Contextmenu,我有一个多栏的GridView。我只想在右键单击特定菜单中的项目时显示ContextMenu。以下是我目前掌握的情况: <GridView> <GridViewColumn> <!-- Show context menu for this column --> <GridViewColumn.CellTemplate> <DataTemplate>

我有一个多栏的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.CellTemplate
DataTemplate
中,但没有任何运气


关于如何为特定列创建
上下文菜单的任何建议?c

您应该将其添加到
数据模板的第一个子元素中(即,它需要是
框架元素的子元素


谢谢——这很有效。我需要将
DataTemplate
中的所有内容包装在
Grid
标记中,还忘记了
ContextMenuService.ContextMenu
标记您还可以使用
DockPanel
StackPanel
而不是
网格
,只要它派生自
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>