Ich habe eine Menu
wo jeder MenuItem
in der Hierarchie seine Command
Eigenschaft auf eine von RoutedCommand
mir definierte gesetzt hat. Das zugehörige CommandBinding
stellt einen Rückruf zur Verfügung, dessen Auswertung CanExecute
den aktivierten Status von jedem steuert MenuItem
.
Das funktioniert fast . Die Menüpunkte zeigen zunächst die richtigen aktivierten und deaktivierten Zustände an. Wenn sich jedoch die Daten CanExecute
ändern, die mein Rückruf verwendet, muss der Befehl ein Ergebnis aus meinem Rückruf erneut anfordern, damit dieser neue Status in der Benutzeroberfläche angezeigt wird.
Es scheint keine öffentlichen Methoden dafür RoutedCommand
oder CommandBinding
dafür zu geben.
Beachten Sie, dass der Rückruf erneut verwendet wird, wenn ich auf das Steuerelement klicke oder es eingebe (ich denke, er wird bei der Eingabe ausgelöst, da ein Mouse-Over die Aktualisierung nicht verursacht).