Comment puis-je utiliser le RelayCommand dans wpf?
Comment puis-je utiliser le RelayCommand
dans wpf?
Vous devez vous connecter pour publier un commentaire.
Comment puis-je utiliser le RelayCommand
dans wpf?
Vous devez vous connecter pour publier un commentaire.
Relais de commande n'existe pas dans WPF, c'est juste une classe externe qui s'est élevé à importance qu'après qu'il a été défini dans cet article MSDN. Vous devez écrire vous-même si vous voulez l'utiliser.
Sinon, vous pouvez vous le Délégué de commande de la WPF toolkit ici qui a un peu de fonctionnalités supplémentaires sur le RelayCommand code.
Ah, la question a changé pendant que j'étais en tapant cette réponse. En supposant que vous utilisez le RelayCommand tel que défini ci-dessus, vous devez fournir avec un ou deux délégués, l'un qui renvoie un booléen qui détermine si la commande est dans un état valide à exécuter, et une seconde, qui ne renvoie rien et exécute la commande. Si vous ne fournissez pas une "CanRun" déléguer la commande vous considérez qu'il est toujours dans un état valide. Le code utilisé dans l'article:
Déclare un RelayCommand qui va appeler la méthode Save() lorsqu'il est déclenché et le retour de la CanSave propriété de tester la validité. Lorsque cette commande est liée à un bouton dans WPF la propriété IsEnabled du Bouton va correspondre à la CanSave propriété du ViewModel et lorsque le bouton est cliqué (en supposant qu'il est activé) la méthode Save() sera appelé sur le ViewModel.
Comme une alternative à la création
RelayCommand
des wrappers pour toutes vos méthodes puis-je proposer un accès gratuit à la bibliothèque et de la source qui va vous permettre d'utiliser la liaison{BindTo Save()}
. Je l'ai créé pour simplifier mes liaisons. Il fait aussi de la liaison relative beaucoup plus facile. Vous pouvez le trouver ici: http://www.simplygoodcode.com/2012/08/simpler-wpf-binding.html