我正在尝试在DataGrid
控件中获取当前选定的对象(行),并使用ICommand
将它们直接发送到视图模型(MVVM模式),而后面的XAML代码中没有任何代码
我使用Button完成此操作,因为ButtonBase
实现了Command属性 - DataGrid
没有。在使用按钮时使用View和View Model之间的命令似乎是惯例,但其他控件呢?
有没有办法获取当前选定的项目并将其发送到视图模型的命令?
答案 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}"/>