我有一個ListView
(與GridView
)綁定到項目集合。這是非常標準的東西。該集合是一個ObservableCollection
。WPF:更改由ListView觀察到的集合中的項目
現在,讓我們來說說我更改集合中某個項目的某些屬性。我該如何告訴ListView
?該列表長達數萬行,因此我需要能夠告訴它不要重新加載整個集合,只是更新了某個單一元素。
任何想法?
我有一個ListView
(與GridView
)綁定到項目集合。這是非常標準的東西。該集合是一個ObservableCollection
。WPF:更改由ListView觀察到的集合中的項目
現在,讓我們來說說我更改集合中某個項目的某些屬性。我該如何告訴ListView
?該列表長達數萬行,因此我需要能夠告訴它不要重新加載整個集合,只是更新了某個單一元素。
任何想法?
如果您的對象實現某種屬性更改通知(最常見的方式是實現接口INotifyPropertyChanged
) - 那麼列表將知道自動更新屬性更改。
問題是,正如您從代碼中可以看到的一樣,沒有人在您的單個項目上收聽PropertyChanges
。 您需要將集合的每一行(項目)綁定到PropertyChanged
事件,最簡單的方法是覆蓋ObservableCollection
。
這是另一種在模板中使用XAML的方法 - http://www.wblum.org/listbind/net3/index.html – bookemdano 2013-09-17 13:50:23