Wpf 更改对象实例属性在其任何属性更改时更改
我有一节简单的课。我可以更改它的属性并得到通知。但是,当我更改对象实例的任何属性时,该属性不会更改。如何更改object instance属性changed以引发以下事件Wpf 更改对象实例属性在其任何属性更改时更改,wpf,Wpf,我有一节简单的课。我可以更改它的属性并得到通知。但是,当我更改对象实例的任何属性时,该属性不会更改。如何更改object instance属性changed以引发以下事件 public class A : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; public int _id; public int Id { get { r
public class A : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public int _id;
public int Id
{
get { return _id; }
set
{
if (_id == value)
{
return;
}
_id = value;
OnPropertyChanged("Id");
}
}
public string _name;
public string Name
{
get { return _name; }
set
{
if (_name == value)
{
return;
}
_name = value;
OnPropertyChanged("Name");
}
}
}
foreach (INotifyPropertyChanged item in new ObservableCollection<A>() )
item.PropertyChanged += new PropertyChangedEventHandler(Item_PropertyChanged);
private void Item_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
}
这个问题在西蒙的回答2中给出了一个可能的解决方案。他继承了ObservaleCollection,并将collections eventshandler挂接到每个items property changed事件。我不知道您对object instance属性的确切含义,当我更改它的任何属性时,changed属性不会更改。你能多告诉我一点你的目标吗?公共事件PropertyChangedEventHandler PropertyChanged是您在OnPropertyChangedpropertyName方法中引发的事件。我有一个对象a的集合。我的集合已通知集合已更改的事件处理程序。当任何集合项属性发生更改时,它将引发一个事件。问题是当我更改我的itemA propertiesID或Name时,它不会更改我的Item A PropertyChanged,因此不会引发我的事件。new ObservableCollection中没有A项