I want to execute a command when the user selects a row in a DataGrid.
I see it is possible to wrap cell contents in buttons (although I don\'t want the button styl
You should use "Interactivity" assembly and SelectionChanged
event.
Where "i" is namespace:
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
Also you can write binding to SelectedItem
property of the DataGrid and in the set accessor you can invoke your command, but the first solution that i presented you above is better.
If you want to invoke command from main view model and pass SelectedItem
from DataGrid
you can use CommadParameter
:
When items has own command you can use following code:
Or if elements has own view model that is assigned to it's DataContext
, you can use following code: