Questa sarebbe la soluzione se il comando risiede sul "GridVieModel" e non sul "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>
Si potrebbe creare un rowview dal momento che la fila ha anche un proprio ViewModel e utilizzare l'evento MouseDoubleClick di un elemento figlio della fila (contenitore) in rowview.
O si crea un convertitore per il vostro comando vincolante:
<GalaSoft_MvvmLight_Command:EventToCommand Command="{Binding SelectedItem, ElementName=dg, Mode=OneWay, Converter=...}"/>
Il convertitore poi avrebbe controllato se il selectedItem è del tipo richiesto di restituire il comando (Qualcosa di simile ISelectCommandable con una proprietà RelayCommand)
Ho aggiunto il tag mvvm-light per te. Questo è quello ufficiale da utilizzare per il toolkit MVVM Light di Laurent Bugnion. – dthrasher