Événement CanExecuteChanged de ICommand
Icommand
contient deux méthodes et un événement.
Ce que les deux méthodes n'est clair, mais je ne peux pas comprendre ce que l'événement ne qui est fourni dans ICommand
.
Quand la CanExecuteChanged
événement a permis d'amasser?
Ci-dessous l'explication est sur MSDN mais je ne pouvons pas comprendre.
CanExecuteChanged est déclenchée si le de commande du gestionnaire de que
centralise le commandant des opérations détecte un changement dans la commande
source qui pourrait annuler une commande qui a été soulevée, mais pas
encore exécuté par la liaison de commande.
Pouvez-vous expliquer cela en termes simples?
Merci......
Vous devez vous connecter pour publier un commentaire.
CanExecuteChanged
est déclenché lorsque lesCanExecute
méthode d'unICommand
est changéDans certaines 3ème partie, les bibliothèques, les
CanExecuteChanged
événement obtient également déclenchée si leCanExecute
paramètres de soulever unPropertyChanged
événement. Par exemple, MVVM Light Toolkit estRelayCommand
soulève laCanExecuteChanged
événement, si laCanExecute
paramètres de soulever unPropertyChanged
de l'événement, tandis que du Prisme deDelegateCommand
ne pas.CanExecute
méthode au moment de l'exécution? pourriez-vous donner des précisions....Cet événement est déclenché par la commande à informer les consommateurs (c'est à dire le Bouton, MenuItem) qu'il CanExecute propriété peut avoir changé. Donc, si l'accent est déplacé d'une zone de texte à un autre, votre commande peut être activée/désactivée. Cette information doit également être transmises à des contrôles à l'aide de votre commande.
En général, cet événement simplement reexposes la Le gestionnaire de commandes.RequerySuggested événement. À partir de la classe RoutedCommand:
La RequerySuggested événement est déclenché assez souvent, que le focus est déplacé, la sélection de texte est modifié. Cela peut également être relevée manuellement en appelant InvalidateRequerySuggested.
CanExecuteChanged
comme vous l'avez dit...j'ai mis deux signet en côte d'AJOUTER et de SUPPRIMER le bloc, mais ne peut pas obtenir pointeur à l'emplacement...add
/remove
gérer les abonnements à la manifestation, par exempleCanExecuteChanged += value
pouradd
. Si vous les remplace comme vous l'avez fait, comment faire pour les clients de s'abonner à l'événement en premier lieu?