J'ai un Menu
où chacun MenuItem
dans la hiérarchie a sa Command
propriété définie sur un RoutedCommand
que j'ai défini. L'associé CommandBinding
fournit un rappel pour l'évaluation de CanExecute
qui contrôle l'état activé de chacun MenuItem
.
Cela fonctionne presque . Les éléments de menu présentent initialement les états activés et désactivés corrects. Cependant, lorsque les données que mon CanExecute
rappel utilise changent, j'ai besoin de la commande pour demander à nouveau un résultat de mon rappel afin que ce nouvel état soit reflété dans l'interface utilisateur.
Il ne semble pas y avoir de méthodes publiques sur RoutedCommand
ou CommandBinding
pour cela.
Notez que le rappel est utilisé à nouveau lorsque je clique ou tape dans le contrôle (je suppose qu'il est déclenché en entrée car le survol de la souris ne provoque pas l'actualisation).