Je me demande si je peux créer un RelayCommand sur mes ViewModel comme ceci:Firing RelayCommand de CodeBehind lié à VM
public RelayCommand<IList<VectorViewModel>> MyCommand { get; set; }
cteur:
MyCommand = new RelayCommand<IList<VectorViewModel>>(DoSomething);
Et du Code derrière XAML, je reçois la lignes sélectionnées à partir d'un DataGrid et les mettre dans une liste.
if (xamDatagridVector.SelectedItems.Records.Count >= 3)
{
var list = new List<VectorViewModel>();
foreach (DataRecord record in xamDatagridVector.SelectedItems.Records)
{
list.Add((VectorViewModel)record.DataItem);
}
}
A ce stade, je voudrais envoyer la liste Retour à la ViewModel en utilisant ce RelayCommand j'avais créé plus tôt. Serait-ce possible de créer un RelayCommand dans le code et le lier à la commande du ViewModel et l'éteindre?
Quelle alternative existe-t-il? Je pourrais bien sûr utiliser la classe Messenger faible-référencée dans MVVM-Light, mais quelque chose que je n'aime pas, c'est qu'il l'enverra à tous les abonnés de cet appel, et pas seulement le ViewModel sous-jacent (Son mortel en utilisant Messenger lorsque vous avez plusieurs les instances de la même vue dans les TabControls)
J'espère que quelqu'un a une idée de me maintenir, Merci beaucoup, Kave