gpt4 book ai didi

c# - 将自定义用户控件绑定(bind)到 RegionContext 的属性

转载 作者:行者123 更新时间:2023-12-03 10:45:18 24 4
gpt4 key购买 nike

我正在通过编写一个小型 HR 应用程序来学习 Prism(版本 5)框架。

My EmployeeSummaryView 是一个简单的主详细信息页面,它使用选项卡控件来更好地组织 Person 类型的属性。此选项卡控件有一个区域上下文绑定(bind)到 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; }
}

我在“联系信息”选项卡上苦苦挣扎。在这里,我使用自定义用户控件来编辑邮寄地址。我建立绑定(bind)的第一直觉是执行以下操作:
<local:EditAddressView DataContext="{Binding CurrentEmployee.MailingAddress}"/>

但是,我对 Prism 和 MVVM 了解得越多,这种气味就越难闻。

将自定义控件绑定(bind)到 RegionContext 上的属性的正确方法是什么?

最佳答案

通过绑定(bind)到模型而不是 ViewModel,您将自己逼入绝境。用 ViewModels 包装你的模型并绑定(bind)到那些。

public class PersonViewModel
{
public PersonViewModel(Person person)
{
...
MailingAddress = new AddressViewModel(person.address);
}

public AddressViewModel MailingAddress { get; private set; }
}

关于c# - 将自定义用户控件绑定(bind)到 RegionContext 的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28612602/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com