Można to zrobić w XAML dodając domyślny styl dla DataGridRow pod jego części zasobami i zadeklarować zdarzenia setter tam:
<DataGrid>
<DataGrid.Resources>
<Style TargetType="DataGridRow">
<EventSetter Event="MouseDoubleClick" Handler="Row_DoubleClick"/>
</Style>
</DataGrid.Resources>
</DataGrid>
LUB
W przypadku chcesz to zrobić w kod z tyłu. Ustaw x:Name
na siatce, twórz styl programowo i ustaw styl jako RowStyle.
<DataGrid x:Name="dataGrid"/>
w kodzie za:
Style rowStyle = new Style(typeof(DataGridRow));
rowStyle.Setters.Add(new EventSetter(DataGridRow.MouseDoubleClickEvent,
new MouseButtonEventHandler(Row_DoubleClick)));
dataGrid.RowStyle = rowStyle;
I
Jest przykładem obsługi zdarzeń:
private void Row_DoubleClick(object sender, MouseButtonEventArgs e)
{
DataGridRow row = sender as DataGridRow;
// Some operations with this row
}
Czy nie byłoby najłatwiejsze do subskrypcji 'myGrid .MouseDoubleClick', a następnie w module obsługi zdarzenia sprawdź, czy kliknięcie stało się w wierszu (lub w którym ro w jest wybrane)? – floele