【发布时间】:2012-05-08 21:18:59
【问题描述】:
假设我有一个 ViewModel,上面有一个名为 Customer 的属性。当客户更改时,它会引发 NotifyPropertyChanged。
Customer 类上还有其他属性(都在 setter 中引发 NotifyPropertyChanged)。例如,它具有 FirstName 和 LastName 字符串。其中的另一个属性称为地址。
Address 具有 Line1、Line2、Zip、State 等属性。它们在更改时也会引发 NotifyPropertyChanged。
我有直接绑定到这些元素的 UI 元素。我发现当我做这样的事情时:
CurrentCustomer = FoundCustomer;
FirstName 和 LastName 等项目在我的 BoundControls 中得到更新,但 Line1、Line2、Zip 和 State 没有。
我已经尝试过像这样创建 Address 的 ViewModel 实例:
CurrentAddress = FoundCustomer.Address;
当我这样做时,绑定的属性会正确更新。
我缺少一些关于绑定的东西吗?它只更新一层吗?还是只有值(非引用)对象?
或者这应该有效,我需要仔细查看我的绑定?
【问题讨论】:
-
CurrentCustomer 是如何绑定到表单的?