我正在学习Prism(第5版)框架,编写一份小型人力资源应用程序。
我的EmployeeSummaryView是一个简单的主要详细信息页面,它使用选项卡控件来更好地组织Person类型的属性。此选项卡控件具有Context Binding to CurrentEmployee的区域。
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime Birthday { get; set; }
public string PhoneNumber { get; set; }
public Address MailingAddress { get; set; }
public Person EmergencyContact { get; set; }
}
我正在努力的地方是在“联系信息”选项卡上。在这里,我使用自定义用户控件来编辑邮件地址。我建立绑定的第一直觉是执行以下操作:
<local:EditAddressView DataContext="{Binding CurrentEmployee.MailingAddress}"/>
但是我越了解Prism和MVVM,它就越开始闻起来。
将自定义控件绑定到RegionContext上的属性是什么?
答案 0 :(得分:0)
您通过绑定到模型而不是ViewModel来支持自己。使用ViewModel包装模型并将其绑定到那些模型。
public class PersonViewModel
{
public PersonViewModel(Person person)
{
...
MailingAddress = new AddressViewModel(person.address);
}
public AddressViewModel MailingAddress { get; private set; }
}