Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WPF Gridview ContextMenu

Does anybody know how to add a ContextMenu to each row in a GridView? The following example works but adds the contextmenu to the whole control, also on the empty space, scrollbar, header, etc.. Thanks for any help.

<GridView  ContextMenu="{StaticResource DisplayedContextMenu}" ItemsSource="{Binding Data}" >
   <GridView.View>
      <GridView>
         <GridViewColumn Header="Position" Width="0" DisplayMemberBinding="{Binding Position}" />
...
like image 657
TWT Avatar asked May 22 '26 15:05

TWT


1 Answers

        <DataGrid Name="grid">
            <DataGrid.Resources>
                <Style TargetType="DataGridRow">
                    <Setter Property="ContextMenu">
                        <Setter.Value>
                            <ContextMenu>
                                <MenuItem Header="Copy Row" />
                                <MenuItem Header="Paste Row" />
                            </ContextMenu>
                        </Setter.Value>
                    </Setter>
                </Style>
            </DataGrid.Resources>
            <DataGrid.ContextMenu>
                <ContextMenu>
                    <MenuItem Header="Copy Grid" />
                    <MenuItem Header="Paste Grid" />
                </ContextMenu>
            </DataGrid.ContextMenu>
        </DataGrid>

In case of ListView you should override style for ListViewItem and etc.

like image 90
Rover Avatar answered May 25 '26 04:05

Rover