子属性中的 PropertyChanged [重复]
Posted
技术标签:
【中文标题】子属性中的 PropertyChanged [重复]【英文标题】:PropertyChanged in child properties [duplicate] 【发布时间】:2019-11-07 11:33:08 【问题描述】:当我在第 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 传递给它,所以一切都会改变。它可以工作,但我认为这不是一个好的高性能解决方案来告诉视图,当只有一个属性发生变化时,一切都会发生变化。
有人知道更好的解决方案吗?
【问题讨论】:
好吧不行,如果属性改变需要通知UI 【参考方案1】:您可以使用PropertyChanged.Fody,这将在实现 INotifyPropertyChanged 的类中自动编写 getter 和 setter。
【讨论】:
以上是关于子属性中的 PropertyChanged [重复]的主要内容,如果未能解决你的问题,请参考以下文章
DependencyProperty 未在 PropertyChanged 上更新
如果属性是从另一个进程更新的,PropertyChanged 不起作用?
在 Winform 中,为啥当我在一个数据源上调用 PropertyChanged 时所有绑定的属性都会更新?
WPF PropertyChanged 事件未触发/更新文本框