2009-10-29 7 views
0

J'ai un contrôle utilisateur des formulaires Windows hérités qui expose plusieurs méthodes publiques. J'ai enveloppé ce contrôle sur un contrôle utilisateur wpf et encapsulé les méthodes avec une commande relay sur le nouveau wpf usercontrol.Comment accéder aux commandes sur usercontrol à partir de viewmodel

Maintenant mon problème est de savoir comment utiliser le modèle mvvm pour exécuter les commandes sur mon formulaire de contrôle utilisateur le viewmodel qui est utilisé avec la vue qui héberge le nouveau wpf usercontrol.

Répondre

0

En viewmodel vous devez ajouter un champ disent

Public ICommand CommandOne 

Maintenant, cette commande va créer un nouvel objet RelayCommand en fonction de vos besoins/conditions. Maintenant, vous pouvez lier cette commande 'CommandOne' avec n'importe quel objet disons sur votre formulaire de contrôle. Donc, chaque fois que l'on clique sur le bouton, l'objet RelayCommand sera créé et il exécutera l'action qui lui est donnée en tant que paramètre.

Espérons que cela fonctionne pour vous.

+0

Ce que je dois faire est de relier le ControlCommand utilisateur à la commande Voir modèle il peut être appelé à l'intérieur du progamically viewmodel – SteveP

0

I Découvrez comment travailler avec les fixations. Besoin de définir le mode à OneWayToSource pour obtenir la commande du contrôle utilisateur. La partie délicate est que l'initialisation de la commande doit être faite à l'intérieur de l'événement chargé de la commande usercontrol. Si vous essayez de le faire à l'intérieur du constructeur, vous vous retrouverez avec l'initialisation par défaut de la liaison qui pourrait être nulle.

Questions connexes