修改ObservableCollection的项目
本文关键字:项目 ObservableCollection 修改 | 更新日期: 2023-09-27 18:27:57
我已经向ObservableCollection添加了几个元素,现在我想修改其中一个元素,比如:
_MyCollection[num].Data1 = someText;
举个例子,根据下面的代码,意图是:_MyCollection[5].Type = changedText;
_MyCollection.Add(new MyData
{
Boundary = Text1,
Type = Text2,
Option = Text3
});
我该怎么做?
我想你只是想看看这些变化,对吧?这与ObservableCollection无关,而是与MyData
对象有关。它必须实现INotifyPropertyChange
——如果你实现了,你会看到你所做的更改。
public class MyData : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private string type;
public string Type
{
get { return type; }
set
{
if (value != type)
{
type = value;
NotifyPropertyChanged("Type");
}
}
}
// ... more properties
private void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
}
这将触发CollectionChanged
事件:
MyData temp = _MyCollection[index];
temp.Type = changedText;
_MyCollection.SetItem(index, temp);