Вы можете добавить стиль для DataGridRow внутри DataGrid RowDetails и подписаться на событие MouseDoubleClick оттуда.
<DataGrid.RowDetailsTemplate>
<DataTemplate>
<DataGrid Name="dataGrid1Details" ItemsSource="{Binding Path=PossibleCandidates}" AutoGenerateColumns="False">
<DataGrid.Resources>
<Style TargetType="{x:Type DataGridRow}">
<EventSetter Event="MouseDoubleClick" Handler="DetailedDataGridRow_MouseDoubleClick"/>
</Style>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridTextColumn Header="Similarity" Binding="{Binding Path=Key}"/>
<DataGridTextColumn Header="Possible New Link Source" Binding="{Binding Path=Value}"/>
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</DataGrid.RowDetailsTemplate>
Код позади, простой EventHandler
// Fill cell data.. You can access the values like this
void DetailedDataGridRow_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
DataGridRow clickedDataGridRow = sender as DataGridRow;
// Details: clickedDataGridRow.Item
// Main DataGrid: dataGrid1.SelectedItem
}
Обновление
RowDetails и DataGridRow связаны, в некотором роде. RowDetails находится в DataGridRow в VisualTree, поэтому есть много способов получить к нему доступ (события, обход VisualTree и т. Д.), Но я не думаю, что есть свойство или что-то подобное, что даст вам прямой доступ (насколько я знаю) ). Снимок экрана из Snoop, показывающий DataGridDetailsPresenter в DataGridRow