Ответ 1
Вы можете сделать это в XAML, добавив стиль по умолчанию для DataGridRow в разделе ресурсов и объявите установщик событий:
<DataGrid>
<DataGrid.Resources>
<Style TargetType="DataGridRow">
<EventSetter Event="MouseDoubleClick" Handler="Row_DoubleClick"/>
</Style>
</DataGrid.Resources>
</DataGrid>
ИЛИ
Если вы хотите сделать это в коде. Установите x:Name
на сетку, создайте стиль программно и установите стиль как RowStyle.
<DataGrid x:Name="dataGrid"/>
и в коде позади:
Style rowStyle = new Style(typeof(DataGridRow));
rowStyle.Setters.Add(new EventSetter(DataGridRow.MouseDoubleClickEvent,
new MouseButtonEventHandler(Row_DoubleClick)));
dataGrid.RowStyle = rowStyle;
И
Пример обработчика событий:
private void Row_DoubleClick(object sender, MouseButtonEventArgs e)
{
DataGridRow row = sender as DataGridRow;
// Some operations with this row
}