c# WPF DataGrid два разных ContextMenu

Есть DataGrid такого вот примерно содержания:

<DataGrid x:Name="dataGridView1" Margin="10,100,10,10" AutoGenerateColumns="False">
    <DataGrid.Columns>
        <DataGridTextColumn Header="File_Path" Binding="{Binding filePath}" IsReadOnly="True" />
        <DataGridTextColumn Header="File Name" Binding="{Binding fileName}" IsReadOnly="True"/>                
        <DataGridTextColumn Header="Date and Time" Binding="{Binding FileDateTime}" IsReadOnly="True"/>                
        <DataGridTextColumn Header="inOffset" Binding="{Binding inOffset}" IsReadOnly="True"/>
        <DataGridTextColumn Header="outOffset" Binding="{Binding outOffset}" IsReadOnly="True"/>
    </DataGrid.Columns>
    <DataGrid.Resources>
                
    </DataGrid.Resources>
</DataGrid>

Хочу сделать два разных context menu. Одно должно открываться при ПКМ на заголовке столбца(функционал скрыть/показать столбцы) и другое ContextMenu при ПКМ на строках DataGrid для работы с записями.

Получается сделать отдельно на строки или отдельно на заголовки. а вместе не получается.

Menu для заголовка работает так:

<DataGrid.Resources>
    <ContextMenu x:Key="DataGridColumnHeaderContextMenu">
        <MenuItem Header="Header menu"/>
    </ContextMenu>
    <Style TargetType="{x:Type DataGridColumnHeader}">
        <Setter Property="ContextMenu" Value="{StaticResource DataGridColumnHeaderContextMenu}" />
    </Style>
</DataGrid.Resources>

Либо так: Но в этом случае меню отображаться и на заголовках

<DataGrid.ContextMenu>
    <ContextMenu>
        <MenuItem Header="Row menu"/>
    </ContextMenu>
</DataGrid.ContextMenu>

Подскажите как сделать два разных меню на один DataGrid?


Ответы (0 шт):