【发布时间】:2015-02-19 17:13:44
【问题描述】:
我正在通过编写一个小型 HR 应用程序来学习 Prism(版本 5)框架。
My EmployeeSummaryView 是一个简单的主详细信息页面,它使用选项卡控件来更好地组织 Person 类型的属性。此选项卡控件有一个区域上下文绑定到 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 上的属性的正确方法是什么?
【问题讨论】:
-
Prism 和 MVVM 是怎么回事? UC 应该被认为是与 Type 紧密对齐的 UI,无论该 UI 是显示该 Type 的对象的状态,还是正在编辑它等等。这非常好。你闻的是什么味道?
-
@Will 说在路上我想添加额外的逻辑来控制是否可以编辑字段,或者可能是一个命令来做一些查找,没有视图模型可以放置它。
-
放到Address类中。继续。去做吧。模糊模型和视图模型之间的界限。因为,你知道吗,它没有区别。生活在边缘。这里很棒。而且它不臭。