Этот вопрос возник у меня при поиске решения, и ответы не сработали из-за возраста или из-за моей собственной реализации.В любом случае, вот решение, которое сработало для меня.
Добавьте событие MouseDoubleClick в DataGrid
<DataGrid x:Name="DatagridMovie"
Width="Auto"
CanUserAddRows="False"
CanUserDeleteRows="True"
IsReadOnly="true"
ItemsSource="{Binding}"
MouseDoubleClick="Row_MouseDoubleClick">
и в методе
private void Row_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
// Ensure row was clicked and not empty space
DataGridRow row = ItemsControl.ContainerFromElement((DataGrid)sender, e.OriginalSource as DependencyObject) as DataGridRow;
if ( row == null ) return;
...
Stuff();
}
Пока что яне заметил никаких проблем с этим.Это не разделяет проблему, которая есть у других, это означает, что двойной щелчок по заголовку или пустому пространству с заранее выбранной строкой все равно вызовет ее запуск.