2012-05-08 174 views
2

假设我有一个名为Customer的ViewModel。当客户改变它时引发NotifyPropertyChanged。更改父级引用更改后的属性绑定

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

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

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

CurrentCustomer = FoundCustomer; 

,像名字和姓氏的项目在我的BoundControls得到更新,但1号线,2号线,邮编和国家都没有。

我已经尝试做地址的视图模型实例是这样的:

CurrentAddress = FoundCustomer.Address; 

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

有什么关于绑定,我失踪?它只更新一个级别?还是只有值(不参考)对象?

或者应该这样工作,我需要仔细观察绑定?

+0

CurrentCustomer如何绑定到窗体? –

+0

请发布您的XAML代码 –

回答

0

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