【问题标题】:How to hide context menu from DataGrid header?如何从 DataGrid 标题中隐藏上下文菜单?
【发布时间】:2016-05-30 23:26:41
【问题描述】:

我在右键单击 DataGrid 时使用 ContextMenu。我不想在 DataGrid 标头上显示 ContextMenu。

<dgWPFCtrl:SelfBindingDataGrid Grid.Row="1" Margin="0,5,0,0" Name="_cycleList"
                           ItemsSource="{Binding Path=CurrentElementsList, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"
                           IsReadOnly="False"
                           SelectedItem="{Binding Path=CurrentItem}">
    <dgWPFCtrl:SelfBindingDataGrid.ContextMenu>
        <ContextMenu>
            <MenuItem Command="{Binding OpenCycleCommand}" Header="CYCLE" CommandParameter="CYCLE"/>
            <MenuItem Command="{Binding OpenCycleCommand}" Header="H1" CommandParameter="H1"/>
            <MenuItem Command="{Binding OpenCycleCommand}" Header="PDF" CommandParameter="PDF"/>
        </ContextMenu>
    </dgWPFCtrl:SelfBindingDataGrid.ContextMenu>

我该如何解决这个问题?

【问题讨论】:

  • 我删除了问题标题中的标签。请阅读here为什么。

标签: wpf mvvm datagrid contextmenu


【解决方案1】:

您可以使用ColumnHeaderStyle 为标题更改 ContextMenu:

<dgWPFCtrl:SelfBindingDataGrid>
    <dgWPFCtrl:SelfBindingDataGrid.ColumnHeaderStyle>
        <Style TargetType="DataGridColumnHeader">
            <Setter Property="ContextMenu">
                <Setter.Value>
                    <ContextMenu Visibility="Collapsed" />
                </Setter.Value>
            </Setter>
        </Style>
    </dgWPFCtrl:SelfBindingDataGrid.ColumnHeaderStyle>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-17
    • 2018-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多