How do I update an existing element of an ObservableCollection?

ε祈祈猫儿з 提交于 2019-11-28 01:20:41
Alan Mendelevich

Items in your collection should be of type that implements INotifyPropertyChanged interface. This way your list box will be notified that property value in your single item object has changed. ObservableCollection raises CollectionChanged event only when collection changes (items added, removed, etc.)

Quote from the MSDN library article on ObservableCollection

To fully support transferring data values from binding source objects to binding targets, each object in your collection that supports bindable properties must implement an appropriate property changed notification mechanism such as the INotifyPropertyChanged interface.

For change notification to occur in a binding between a bound client and a data source, your bound type should either:

  • Implement the INotifyPropertyChanged interface (preferred).
  • Provide a change event for each property of the bound type.

Do not do both.

Source: MSDN: INotifyPropertyChanged Interface

accessD

I've solved similar problem using BindingList<T> class.

It has ListChanged event fired both on collection and individual item change.

Introduced in .Net 3.5

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!