我有一个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