使用MVVM通过ViewModel属性冒泡INotifyPropertyChanged事件的好方法是什么?

Geo*_*off 16 c# wpf mvvm mvvm-light

我试图找出在我的ModelView中从嵌套属性冒泡PropertyChanged事件的最佳方法.说我有我的ModelView PersonModelView有一个属性PersonModelView.Address.Address反过来有一个属性City.当我City在我的视图中绑定时,我会做类似的事情{Binding Address.City}.

我的问题是,即使Address器具INotifyPropertyChanged,绑定不会得到更新,因为它处理PropertyChangedPersonModelView,没有 Address.我认为我有两个选择:(1)将绑定源(或更改DataContext)更改为Address属性或(2)在对象上设置PersonModelView句柄并使用类似的内容重新调整它自己.PropertyChangedAddressPropertyChangedAddress.City

你们是怎么解决这个问题的?(我在mo使用MVVM light toolkit,但我对任何方法感兴趣)

Jac*_*ope 9

如果Address实现INotifyPropertyChanged并正确引发PropertyChangedCity属性上的事件,则绑定应该注意到它绑定的属性已更改.