Вы можете просто использовать CommandParameter
.
<MouseBinding Gesture="LeftDoubleClick" Command="{Binding RowDoubleClick}"
CommandParameter="{Binding ElementName=dataGridConsignments, Path=SelectedItem}"/>
. Для этого вам потребуется реализовать интерфейс ICommand
таким образом, чтобы ваш Action
принял параметр.Вы можете увидеть стандартную реализацию и использование RelayCommand
здесь .Это очень похоже на то, что вы сделали для ActionCommand
, но позволяет использовать параметр, который вы можете использовать в своем коде.
В качестве альтернативы, вы можете просто связать SelectedItem
вашего DataGrid
ссвойство в вашей модели представления, и используйте его при запуске команды.
<DataGrid ItemsSource="{Binding Consignments}" SelectedItem="{Binding VMSelectedItem}" ../>
Для любого из подходов имейте в виду, что, если в DataGrid
нет выбранных элементов, выбранный элемент будет null
, поэтому перед выполнением проверки на нуль необходимооперируя свойством / параметром.