1
結合我得到了以下菜單項動態的菜單項
<MenuItem
Header="{Binding ChangeSetCache.History">
<MenuItem.ToolTip>
<TextBlock
Text="{Binding ChangeSetCache.History}" />
</MenuItem.ToolTip>
</MenuItem>
ChangeSetCache級看起來是這樣的:
public class ChangeSetCache : BaseModel
{
private ObservableCollection<ChangeSetModel> cache { get; set; } = new ObservableCollection<ChangeSetModel>();
public string History
{
get { return cache.Count.ToString(); }
set { }
}
}
(INotifyPropertyChanged的是在basemodel實現)
爲什麼該工具提示更新綁定和menuitem標題不?如何根據需要更新menuitem標題?
如果我設計了菜單項,工具提示類似下面的提示還沒有更新:
<MenuItem
Header="{Binding ChangeSetCache.History}"
ToolTip="{Binding ChangeSetCache.History}" />
作爲一個說明,設置'UpdateSourceTrigger = PropertyChanged'在這裏毫無意義。它只在TwoWay或OneWayToSource綁定中有效。這就是說,你的財產的制定者是空的。你如何期待一個PropertyChanged事件被解僱? – Clemens
謝謝你的提示。當然,我只需要單向綁定,不需要更新視圖中的源代碼。我會更新我的問題。 – Chpo7234
您何時通知或致電OnPropertyChanged(「歷史」)?如果您不打電話,UI將不知道該物業的新價值。 – XAMlMAX