如何从 DataGrid header 中隐藏上下文菜单?

How to hide context menu from DataGrid header?

我在右键单击 DataGrid 时使用上下文菜单。我不想在 DataGrid header.

上显示上下文菜单
<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>

我该如何解决这个问题?

您可以只为 header 更改上下文菜单 ColumnHeaderStyle:

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