假设我有一个 ViewModel,上面有一个名为 Customer 的属性。当客户更改时,它会引发 NotifyPropertyChanged。
Customer 类上有其他属性(在 setter 中都会引发 NotifyPropertyChanged)。例如,它具有 FirstName 和 LastName 字符串。其中的另一个属性称为地址。
Address 具有 Line1、Line2、Zip、State 等属性。它们在更改时也会引发 NotifyPropertyChanged。
我有直接绑定到这些元素的 UI 元素。我发现当我做这样的事情时:
CurrentCustomer = FoundCustomer;
我的 BoundControls 中的 FirstName 和 LastName 等项目正在更新,但 Line1、Line2、Zip 和 State 没有。
我已经尝试过制作这样的 Address 的 ViewModel 实例:
CurrentAddress = FoundCustomer.Address;
当我这样做时,绑定的属性会正确更新。
有什么我缺少的绑定吗?它只更新一层吗?还是只有值(不是参考)对象?
或者这应该有效,我需要仔细查看我的绑定?