2012-05-02 26 views
0

我有一個簡單的類。我可以改變它的屬性並獲得通知。但是當我改變它的任何屬性時,改變的對象實例屬性不會改變。我如何更改對象實例屬性更改以啓用下面的事件?更改對象實例propertyChanged時,其任何屬性發生變化

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) 
    { 

    } 
+0

我不知道你的意思,「改變的對象實例屬性不會改變,當我改變它的任何屬性」。你能更詳細地談談你的目標嗎?公共事件PropertyChangedEventHandler PropertyChanged是您在OnPropertyChanged(「propertyName」)方法中引發的事件。 – csteinmueller

+0

我有一個對象A的集合。我的集合已通知集合已更改的事件處理程序。當任何集合項目屬性發生變化時將引發一個事件。問題是當我更改我的項目(A)屬性(ID或名稱)它不會更改我的項目(A)PropertyChanged,因此我的事件不會引發。 –

+0

'新的ObservableCollection ()'裏面沒有'A'項 –

回答

相關問題