[英]WPF MVVM - Refresh Treeview
我在 WPF MVVM 中創建了一個 Treeview(項目使用 MVVM Light)。
當我將數據添加到 Treeview 的 DataTemplate 時,我想重新加載整個 treeview。 為此,我從我的數據輸入視圖模型向我的 treeview 視圖 model 發送一條消息。
雖然收到了消息,但樹並沒有刷新。 我再次在每個節點上調用 LoadChildren,並且也使用了 RaisePropertyChanged,但數據沒有得到更新。
TreeView
綁定到ViewModel
中的分層集合,它有一個屬性名稱,例如TreeViewData
。 假設您的ViewModel
實現INotifyPropertyChanged
,只需為屬性TreeViewData
調用PropertyChanged
處理程序。 這將完全刷新TreeView
。
我的回答是基於您使用 Mvvm light 的事實,因為您沒有提供代碼,我只會 state 顯而易見,它可能會解決您的問題。
您的視圖模型是否實現了 ViewModelBase 接口? (實現 INotifiedPropertyChanged)
我從未使用過 TreeViews,但假設它使用集合作為其數據模板,則無論何時添加/刪除項目以及項目更改時,都必須在集合上調用 RaisePropertyChanged。 僅在集合的“集合”中調用 RaisePropertyChanged 是不夠的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.