如何禁用Listview标头上的上下文菜单

本文关键字:上下文 菜单 何禁用 Listview | 更新日期: 2023-09-27 18:01:13

我有一个上下文菜单,当我右键单击列表视图的项目、标题和空白处时,会显示该菜单。如何在列表视图的空白处显示上下文菜单,而不在标题上显示。

        <ListView.View>
            <GridView AllowsColumnReorder="True" 
                <GridViewColumn Width="100" Header="Company" DisplayMemberBinding="{Binding Company}"  />
                <GridViewColumn Width="100" Header="Depatment"  DisplayMemberBinding="{Binding Department}" />
                <GridViewColumn Width="100" Header="Office" DisplayMemberBinding="{Binding Office}" />
            </GridView>
        </ListView.View>
        <ListView.ContextMenu>
            <ContextMenu>
                <MenuItem Header="Add" Command="{Binding Add}"></MenuItem>
            </ContextMenu>
        </ListView.ContextMenu>

如何禁用Listview标头上的上下文菜单

如果将列标题上下文菜单的值设置为null,即ColumnHeaderContextMenu="{x:Null}",它将不起作用。。。但你可以像这个一样破解它

<GridView.ColumnHeaderContextMenu>
                    <ContextMenu>
                        <ContextMenu.Template>
                            <ControlTemplate>
                                <Border BorderBrush="Transparent"
                                        Background="Transparent" />
                            </ControlTemplate>
                        </ContextMenu.Template>
                    </ContextMenu>
                </GridView.ColumnHeaderContextMenu>