【发布时间】:2019-10-15 11:51:45
【问题描述】:
是否可以通知子类的更改?就像更改 ValueA 时通知 ValueB 绑定的方式一样?
PropertyChangedEventHandler 只允许通知属性名称。
我看到的唯一方法是向 Child 类添加功能以在那里调用通知(Notify 方法)..
public class Parent: INotifyPropertyChanged
{
public Child ChildA
{
get; set;
}
public Child ChildB
{
get; set;
}
public int ValueA
{
get
{
return _valueA;
}
set
{
_valueA = value;
OnPropertyChanged(nameof(ValueA));
}
}
public int ValueB
{
get
{
return _valueB;
}
set
{
_valueB = value;
OnPropertyChanged(nameof(ValueA));
OnPropertyChanged(nameof(ValueB));
}
}
public void RefreshBindings()
{
OnPropertyChanged(ChildA.Check);
OnPropertyChanged(ChildB.Check);
}
}
public class Child: INotifyPropertyChanged
{
public void Notify(string property)
{
OnPropertyChanged(property);
}
public bool Check
{
get
{
return // something;
}
}
}
【问题讨论】:
-
是的,你也应该在 Child 类上实现 INotifyPropertyChanged
-
如果/当您将属性名称留空时,整个对象将被“刷新”
-
你在视图中绑定了哪个属性?
-
@NawedNabiZada:
nameof(ChildA.Check)等于Check。 -
@NawedNabiZada 感谢您的建议,但它们不起作用。请仅在您知道它们有效的事实时才建议它。
标签: c# wpf inotifypropertychanged