绑定DataGrid控制选定的项目到视图模型中的命令?

时间:2011-05-25 14:06:24

标签: wpf mvvm datagrid command viewmodel

我正在尝试在DataGrid控件中获取当前选定的对象(行),并使用ICommand将它们直接发送到视图模型(MVVM模式),而后面的XAML代码中没有任何代码

我使用Button完成此操作,因为ButtonBase实现了Command属性 - DataGrid没有。在使用按钮时使用View和View Model之间的命令似乎是惯例,但其他控件呢?

有没有办法获取当前选定的项目并将其发送到视图模型的命令?

2 个答案:

答案 0 :(得分:0)

这是an article on the subject。这是关于Silverlight的,但该指南对WPF也很有用。基本上它说使用EventToCommand(来自MVVMLight Toolkit)来将SelectionChanged事件转换为ICommand。

答案 1 :(得分:0)

我想使用找到的代码here。它是一些AttachedProperties,它允许您将命令连接到几乎任何事件

<DataGrid
    local:CommandBehavior.Event="MouseDown" 
    local:CommandBehavior.Command="{Binding SomeCommand}"
    local:CommandBehavior.CommandParameter="{Binding SelectedItem}"/>