在更改父引用后刷新属性的绑定

时间:2012-05-08 21:19:00

标签: c# .net wpf binding

假设我有一个名为Customer的ViewModel属性。当客户更改时,它会引发NotifyPropertyChanged。

Customer类上有其他属性(这些属性都会在setter中引发NotifyPropertyChanged)。例如,它具有FirstName和LastName的字符串。其中的另一个属性叫做地址。

地址具有Line1,Line2,Zip,State等属性。它们在更改时都会引发NotifyPropertyChanged。

我有直接绑定到这些元素的UI元素。我发现当我做这样的事情时:

CurrentCustomer = FoundCustomer;

FirstName和LastName等项目在我的BoundControls中得到更新,但Line1,Line2,Zip和State不是。

我已尝试像这样制作一个ViewModel地址实例:

CurrentAddress = FoundCustomer.Address;

当我这样做时,绑定属性会正确更新。

我有什么关于绑定的东西吗?它只更新一层吗?或者只有Value(不是引用)对象?

或者这应该是否有效,我需要仔细研究我的绑定?

1 个答案:

答案 0 :(得分:0)

尝试而不是在setter中引发NotifyPropertyChanged,尝试仅在需要引发时才在代码中的某处提升属性。