子属性中的属性已更改

时间:2019-06-25 15:16:49

标签: c# wpf xamarin mvvm inotifypropertychanged

当我在第2层或第3层上绑定到一个子级属性,并且该子级属性发生更改时,视图不会更新。例如

当property1更改时,Propertychanged不会更新视图。

这是示例对象:

{
 public string property1 {get;set;}
 public string property2 {get;set;}
}

当我想要更新视图时,我必须这样做:

{
 private string _property1;
 public string property1
   {
     get{
      return _property1;
     }
     set{
      _property1 = value;
      OnPropertyChanged("property1");
     }
   }
}

我有很多属性,并且用重复的代码更改每个属性都非常烦人,所以我有一个公共的OnPropertyChanged方法并将null传递给它,因此所有内容都会更改。它行得通,但是我认为这是一个很好的解决方案,当一个属性被更改时,告诉视图一切都会更改。

有人知道有更好的解决方案吗?

1 个答案:

答案 0 :(得分:3)

您可以使用PropertyChanged.Fody,这将在实现INotifyPropertyChanged的类中自动编写getter和setter。