GridView Header 行上的 ContextMenu(右键单击)

ContextMenu (on right click) on GridView Header Line

我正在研究如何在我的 GridView 的 header 上添加上下文菜单。 我不想将它添加到专栏的 header 上,而是添加到完整的 "line" 上,我的 header 在哪里。因此,即使用户隐藏了所有列,工具提示仍然可用。

具体来说,我希望能够通过 headers 行中的 right-clicking 显示一个工具提示,其中包含一个组合框列表,对应于我想查看或隐藏的列.

目前我只找到了如何在 header (GridViewColumnHeader.MouseRightButtonDown) 上在 right-click 上发起活动,但我不知道如何进一步。

您可以使用GridView.ColumnHeaderContainerStyle设置GridViewColumnHeader.ContextMenu 属性:

<GridView>
  <GridView.ColumnHeaderContainerStyle>    
    <Style TargetType="GridViewColumnHeader">
      <Setter Property="ContextMenu">
        <Setter.Value>
          <ContextMenu>
            <MenuItem>
              <MenuItem.Header>

                <ComboBox />
              </MenuItem.Header>
          </ContextMenu>
        </Setter.Value>
      </Setter>
    </Style>
  </GridView.ColumnHeaderContainerStyle>
</GridView>