2010-11-23 12 views
0

Dites que j'ai une CompositeCommand avec beaucoup de DelegateCommands enregistrés.Dans WPF/Prism, que se passe-t-il avec une CompositeCommand lorsqu'un délégué DelegateCommand.RaiseCanExecuteChanged est déclenché?

Si l'un des délégués DelegateCommands déclenche RaiseCanExecuteChanged, cela déclenchera l'événement CompositeCommand.CanExecuteChanged, ce qui déclenchera ce même événement dans les autres enfants, ou affectera uniquement la DelegateCommand active?

Répondre

2

Je viens de comprendre cela. En analysant les internes de Prism, j'ai remarqué que le CompositeCommand s'enregistre lui-même dans l'événement CanExecuteChanged de ses enfants. Ainsi, chaque fois qu'une commande enregistrée déclenche le gestionnaire CanExecuteChanged, la commande composite fait la même chose en elle-même et dans tous ses enfants.