我有一個值可以更改,不會引發更改事件,並且綁定到該值的菜單項不能正確反映當菜單項是打開。我想在菜單打開時更新此綁定。我該怎麼做呢?WPF如何強制菜單項綁定更新菜單打開時
每次打開菜單時,我可以有一個菜單項只是輪詢它的綁定嗎?在這種情況下,IsCommEnabled屬性:
<MenuItem Header="{Binding EnableComm}"
Command="{Binding Root.ToggleCommunications}"
IsChecked="{Binding Authorization.IsCommEnabled, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"/>
-
public bool IsCommEnabled {
get { return _communications.IsCommEnabled; }
}
正確,但是當值發生變化時,無法在該時間點通知。有沒有另一種方式來強制更新,比如當菜單打開或被點擊什麼的時候? – jchristof
你可以做'GetBindingExpression(MenuItem.IsCheckedProperty).UpdateTarget();' –