在两个对象的属性之间绑定,这两个对象都在代码中实现INotifyPropertyChanged

Mar*_*cel 5 .net wpf binding

我试图从两个不同的对象绑定两个属性,这两个属性都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"); }
        }

    }
Run Code Online (Sandbox Code Playgroud)

有没有办法可以将这两个属性绑定在代码中,如果其中一个属性是"正确的"依赖属性,我会怎么做?像这样的东西?

ClassA classA = new ClassA();
ClassB classB = new ClassB();

Binding bind = new Binding("Status");
bind.Source = classA;
classB.SetBinding(ClassB.StatusProperty, bind);
Run Code Online (Sandbox Code Playgroud)

谢谢!

Sco*_*rey 0

实际上,您可以仅使用该属性创建一个单独的对象,并从 Status Changed 类中进行分配。如果将其公开,则两个类都应该能够获取/设置该属性。