我想知道我是否可以像这样在我的 ViewModel 上创建一个 RelayCommand:
public RelayCommand<IList<VectorViewModel>> MyCommand { get; set; }
导演:
MyCommand = new RelayCommand<IList<VectorViewModel>>(DoSomething);
从 XAML 背后的代码中,我从 DataGrid 中获取选定的行并将它们放入列表中。
if (xamDatagridVector.SelectedItems.Records.Count >= 3)
{
var list = new List<VectorViewModel>();
foreach (DataRecord record in xamDatagridVector.SelectedItems.Records)
{
list.Add((VectorViewModel)record.DataItem);
}
}
在这个阶段,我想使用我之前创建的 RelayCommand 将 List 发送回 ViewModel。是否可以在代码中创建一个 RelayCommand 并将其绑定到 ViewModel 的命令并触发它?
有什么替代方法?我当然可以在 MVVM-Light 中使用弱引用的 Messenger 类,但我不喜欢它会将它发送给该调用的所有订阅者,而不仅仅是底层的 ViewModel(当你有几个时使用 Messenger 是致命的TabControls 中相同视图的实例)
我希望有人有一个想法让我继续前进,非常感谢,Kave