J'ai un Menuoù chacun MenuItemdans la hiérarchie a sa Commandpropriété définie sur un RoutedCommandque j'ai défini. L'associé CommandBindingfournit un rappel pour l'évaluation de CanExecutequi 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 CanExecuterappel 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 RoutedCommandou CommandBindingpour 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).