我有一个包含(Person)Patient
属性的 ViewModel。在我看来,我绑定到 的一些属性Patient
,比如Name
和Age
。
问题是:如果我更改 Patient,在我看来什么都不会发生,除非我明确通知每个属性更改(我正在使用Caliburn.Micro
andPropertyChangedBase
东西NotifyOfPropertyChange
):
public class PersonViewModel : PropertyChangedBase {
Person _patient;
public Person Patient {
get { return _patient; }
set {
_patient = value;
NotifyOfPropertyChange(() => Patient); // this doesn't update the view
NotifyOfPropertyChange(() => Name); // this updates, but would I need one line for each property??
}
}
}
更广泛的应用程序上下文是这样的:我有一个 PersonManager 屏幕,具有三个区域,每个区域都有它们的视图和视图模型:人员列表、单个人员的信息以及与每个人相关的医疗程序列表。
我几乎可以肯定我在这里遗漏了一些东西。我想在人员列表中选择一个人,然后显示人员数据和人员程序的区域将通过绑定更新,而不必手动通知新选择的人员的每个属性更改。