1 votes

La bonne façon, en MVVM, de diriger le traitement d'une RelayCommand vers un modèle de vue parent.

Je suis très novice en MVVM et même en WPF dans une certaine mesure, alors soyez indulgent avec moi...

J'ai une application MVVM qui a une fenêtre principale, contenant une instance de viewmodel de différents types selon l'état de l'application. L'un de ces viewmodels est un écran d'options qui contient un bouton pour redémarrer l'application et se connecter à la base de données en tant qu'utilisateur différent. En utilisant RelayCommand, comment puis-je faire en sorte que le parent (la fenêtre principale) traite cette commande et émette un appel à la méthode Window.Close() ?

1voto

thrag Points 606

Définissez la RelayCommand sur le modèle de vue parent. Les gestionnaires associés seront également définis dans le modèle de vue parent.

Maintenant, lorsque vous créez le module de vue enfant, passez l'objet Paremtn View model au Child ViewModel dans le constructeur (Dependency Injection Pattern).

Vous pouvez maintenant configurer la liaison de commande pour votre vue ou votre modèle de vue.

L'autre possibilité serait d'utiliser une commande acheminée au lieu de la commande relais et de la laisser remonter jusqu'à votre modèle de vue parentale.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X