我正在尝试绑定(bind)两个不同对象的两个属性,这两个对象都实现了 INotifyPropertyChanged
在代码中:
public class ClassA : INotifyPropertyChanged
{
// leaving out the INotifyPropertyChanged Members for brevity
public string Status
{
get { return _Status; }
set { _Status = value; RaiseChanged("Status"); }
}
}
public class ClassB : INotifyPropertyChanged
{
// leaving out the INotifyPropertyChanged Members for brevity
public string Status
{
get { return _Status; }
set { _Status = value; RaiseChanged("Status"); }
}
}
有没有一种方法可以将代码中的这两个属性绑定(bind)在一起,就像如果其中一个是“正确的”依赖属性一样,我会这样做?
像这样的东西?
ClassA classA = new ClassA();
ClassB classB = new ClassB();
Binding bind = new Binding("Status");
bind.Source = classA;
classB.SetBinding(ClassB.StatusProperty, bind);
谢谢!
最佳答案
迟到的回应,但是……亲吻:
ClassA classA = new ClassA();
ClassB classB = new ClassB();
classA.PropertyChanged += (s, e) => {
if (e.PropertyName == "Status")
classB.Status = classA.Status;
};
瞧,INPC 对象之间的“绑定(bind)”:) 如果您打算经常这样做,您可以轻松地创建一个非常简单的帮助程序类,只需一个方法调用即可为您完成此操作。
关于.net - 在代码中都实现 INotifyPropertyChanged 的两个对象的属性之间的绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9946735/