Ceci serait la solution si la commande se trouvait sur le "GridVieModel" et non sur le "RowViewModel".
<Window...
...xmlns:dg="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:GalaSoft_MvvmLight_Command="clr-namespace:GalaSoft.MvvmLight.Command;assembly=GalaSoft.MvvmLight.Extras">
<dg:DataGrid x:Name="dg">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDoubleClick">
<GalaSoft_MvvmLight_Command:EventToCommand CommandParameter="{Binding SelectedItem, ElementName=dg}" Command="{Binding Path=SelectCommand, Mode=OneWay}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</dg:DataGrid>
</Window>
Vous pouvez créer un rowview depuis la ligne a également son propre viewmodel et utiliser l'événement MouseDoubleClick d'un élément enfant de la ligne (conteneur) dans le rowview.
Ou vous créez un convertisseur pour votre commande de liaison:
<GalaSoft_MvvmLight_Command:EventToCommand Command="{Binding SelectedItem, ElementName=dg, Mode=OneWay, Converter=...}"/>
Le convertisseur puis vérifierait si le selectedItem est du type requis pour retourner la commande (Quelque chose comme ISelectCommandable avec une propriété RelayCommand)
J'ai ajouté l'étiquette mvvm-light pour vous. C'est la version officielle à utiliser pour MVVM Light de Laurent Bugnion. – dthrasher