Mam Menu
gdzie każdy MenuItem
w hierarchii ma swoje Command
własność ustawiony na RoutedCommand
Mam zdefiniowane. Związane z nim CommandBinding
zapewnia wywołanie zwrotne do oceny CanExecute
, które steruje stanem aktywnym każdego z komputerów MenuItem
.WPF - Jak zmusić polecenie do ponownej oceny „CanExecute” poprzez jej CommandBindings
Ten prawie działa. Pozycje menu początkowo pochodzą z poprawnymi stanami włączonymi i wyłączonymi. Jednak gdy dane, które mój callback CanExecute
używają zmiany, potrzebuję polecenia, aby ponownie zażądać wyniku z mojego wywołania zwrotnego, aby ten nowy stan był odzwierciedlony w interfejsie użytkownika.
Dla tego nie są dostępne żadne publiczne metody dla RoutedCommand
lub CommandBinding
.
Należy pamiętać, że oddzwanianie jest ponownie używane po kliknięciu lub wpisaniu w formancie (domyślam się, że jest ono wyzwalane na wejściu, ponieważ przesunięcie kursorem myszy nie powoduje odświeżenia).
Dzięki temu działało dobrze. W interfejsie użytkownika jest niewielkie opóźnienie, ale nie martwię się o to.Ponadto, natychmiast przegłosowałem twoją odpowiedź, a następnie oddałem głos, aby sprawdzić, czy zadziałało. Teraz, gdy to działa, nie mogę ponownie zastosować głosowania ponownie. Nie wiem, dlaczego SO ma tę regułę. –
Edytowałem twoją odpowiedź, aby ponownie zastosować mój głos. Nie zmieniłem niczego w edycji. Dzięki jeszcze raz. –
haha ok :) dzięki! – Arcturus