Интересно, могу ли я создать RelayCommand в моей ViewModel следующим образом:
public RelayCommand<IList<VectorViewModel>> MyCommand { get; set; }
ctor:
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);
}
}
На этом этапе я хотел бы отправить список обратно в ViewModel, используя ту RelayCommand, которую я создал ранее. Можно ли создать RelayCommand в коде и привязать его к ViewModel? s команду и запустить его?
Какой есть альтернативный способ? Конечно, я мог бы использовать класс Messenger со слабыми ссылками в MVVM-Light, но мне не нравится то, что он будет отправлять его всем подписчикам этого вызова, а не только лежащей в основе ViewModel (его смертельно опасное использование Messenger, когда у вас есть несколько экземпляры одного и того же View в TabControls)
Надеюсь, у кого-то есть идея поддержать меня, Большое спасибо, Каве