WPF DataGrid row double click event programmatically

前端 未结 1 749
伪装坚强ぢ
伪装坚强ぢ 2021-01-30 21:12

I need to programmatically create a DataGrid and need to add a double click row event to it. How is this done in C#? I found this;

myRow.MouseDoubleClick += ne         


        
相关标签:
1条回答
  • 2021-01-30 21:33

    You can do that in XAML by adding default style for DataGridRow under its resources section and declare event setter over there:

    <DataGrid>
        <DataGrid.Resources>
            <Style TargetType="DataGridRow">
                <EventSetter Event="MouseDoubleClick" Handler="Row_DoubleClick"/>
            </Style>
        </DataGrid.Resources>
    </DataGrid>
    

    OR

    In case want to do it in code behind. Set x:Name on grid, create style programatically and set the style as RowStyle.

    <DataGrid x:Name="dataGrid"/>
    

    and in code behind:

    Style rowStyle = new Style(typeof(DataGridRow));
    rowStyle.Setters.Add(new EventSetter(DataGridRow.MouseDoubleClickEvent,
                             new MouseButtonEventHandler(Row_DoubleClick)));
    dataGrid.RowStyle = rowStyle;
    

    AND

    There is example of event handler:

      private void Row_DoubleClick(object sender, MouseButtonEventArgs e)
      {
         DataGridRow row = sender as DataGridRow;
         // Some operations with this row
      }
    
    0 讨论(0)
提交回复
热议问题