【问题标题】:ContextMenu (on right click) on GridView Header LineGridView 标题行上的 ContextMenu(右键单击)
【发布时间】:2019-09-22 18:42:55
【问题描述】:

我正在研究如何在 GridView 的标题上添加 ContextMenu。 我不想将它添加到列的标题上,而是在完整的“行”上添加我所有的标题。因此,即使用户隐藏了所有列,工具提示仍然可用。

具体来说,我希望能够通过右键单击标题行来显示一个工具提示,其中包含一个组合框列表,对应于我想要查看或隐藏的列。

目前我只发现了如何在标题 (GridViewColumnHeader.MouseRightButtonDown) 上单击鼠标右键启动事件,但后来我不知道如何更进一步。

【问题讨论】:

    标签: wpf gridview tooltip contextmenu


    【解决方案1】:

    您可以使用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>
    

    【讨论】:

    • 这里的问题是我需要为每个标题定义一个 ContextMenu,并且我想要所有标题的一个上下文标题(包含列中的标题)。我找到了答案的开头,并且仍在努力,现在将编辑我的问题,无论如何谢谢
    • 我不懂你。此样式适用于所有列标题。所以每个标题共享相同的上下文菜单。什么意思?
    • 抱歉,您的帖子我读得太快了……我马上试试,谢谢。
    • 所以我正在尝试,但 GridView 无法添加 ColumnHeaderStyle
    • 忘了说,我用的是ListView/GridView,不是DataGrid
    猜你喜欢
    • 2011-06-16
    • 2011-07-20
    • 2013-06-18
    • 1970-01-01
    • 2012-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多