J'ai une commande usercontrol avec une commande, ce que je voudrais faire est d'exécuter cette commande à partir de ViewModel de la vue contenant.Exécuter une commande usercontrol à partir d'un viewmodel
Ce serait facile à accomplir dans le code derrière, car je pourrais simplement aller "UserControl.MyCommand.Execute", mais bien sûr je veux être capable de le faire dans le ViewModel.
En théorie, ce que je voudrais faire est de lier la commande de UserControl à une commande sur le ViewModel que je peux exécuter et sera ensuite traitée par le UserControl. Quelque chose comme ceci:
...
<local:MyControl
MyCommand="{Binding ViewModelsCommand}" />
...
Bien sûr, cela aura l'effet inverse de ce que je veux faire, comme maintenant le ViewModelsCommand est lié à MyCommand. Alors, comment inverser cela?
Fondamentalement, je veux être en mesure de lier quelque chose comme ceci:
ViewModelsCommand = "{Binding MyControl.MyCommand}"
Toutes les idées ou l'inspiration serait la bienvenue, je ne vois pas un mode de liaison ça me permettrait de faire ça. Et je ne suis pas sûr comment accéder aux propriétés de DataContext pour la reliure (d'habitude vous feriez seulement de lier et avez deux fois manipuler ceci, mais bien sûr cela ne fonctionne pas dans ce scénario).
Merci d'avance.
Comment instanciez-vous/reliez-vous vos vues et visualisez-vous des modèles? – Jay
Par souci de cet exemple ... les vues sont simplement déclarées en XAML (dont la racine est une fenêtre), viewmodels sont instanciées dans le constructeur de la vue –