Mi chiedo se posso creare un RelayCommand sul mio ViewModel come questo:Firing RelayCommand da CodeBehind destinata a VM
public RelayCommand<IList<VectorViewModel>> MyCommand { get; set; }
ctor:
MyCommand = new RelayCommand<IList<VectorViewModel>>(DoSomething);
E dal codice dietro XAML, ho la righe selezionate da un DataGrid e metterle in una lista.
if (xamDatagridVector.SelectedItems.Records.Count >= 3)
{
var list = new List<VectorViewModel>();
foreach (DataRecord record in xamDatagridVector.SelectedItems.Records)
{
list.Add((VectorViewModel)record.DataItem);
}
}
A questo punto vorrei restituire la lista al ViewModel utilizzando tale RelayCommand avevo creato in precedenza. Sarebbe possibile creare un RelayCommand nel codice e collegarlo al comando ViewModel e attivarlo?
Quale alternativa c'è? Ovviamente potrei usare la classe Messenger di debole riferimento in MVVM-Light, ma qualcosa che non mi piace è che lo invierà a tutti gli utenti di quella chiamata, e non solo al ViewModel sottostante (È mortale usare Messenger quando ne hai diversi istanze dello stesso View all'interno TabControls)
spero che qualcuno ha un'idea per farmi andare avanti, Molte grazie, Kave