Я обычно использую AttachedCommandBehavior .Это 3 файла классов, которые могут быть добавлены в ваш проект и позволяют вам добавлять команды практически к любому событию.
Вот пример того, как его можно использовать:
<Style TargetType="{x:Type DataGridRow}">
<Setter Property="local:CommandBehavior.Event" Value="MouseDoubleClick" />
<Setter Property="local:CommandBehavior.Action" Value="{Binding MyDoubleClickCommand}" />
<Setter Property="local:CommandBehavior.CommandParameter" Value="{Binding }" />
</Style>