Xaml 如何将组合框与另一个对象列表中的字符串列表绑定
Windows应用商店应用程序8.1:如何将组合框与另一个对象列表中的字符串列表绑定,这可能吗 这就是我正在尝试的Xaml 如何将组合框与另一个对象列表中的字符串列表绑定,xaml,c#-4.0,windows-store-apps,Xaml,C# 4.0,Windows Store Apps,Windows应用商店应用程序8.1:如何将组合框与另一个对象列表中的字符串列表绑定,这可能吗 这就是我正在尝试的 public class CompanyContact { public int ContactId { get; set; } public string Name { get; set; } public List<string> EmailAddress
public class CompanyContact
{
public int ContactId { get; set; }
public string Name { get; set; }
public List<string> EmailAddress { get; set; }
}
private Company _selectedCompany;
public CompanyContact SelectedCompany
{
get { return _selectedCompany; }
private set
{
_selectedCompany= value;
}
}
private IEnumerable<CompanyContact> _companyContact;
public IEnumerable<CompanyContact> CompanyContacts
{
get { return _companyContact; }
set
{
_companyContact= value;
}
}
公共类公司联系人
{
public int ContactId{get;set;}
公共字符串名称{get;set;}
公共列表电子邮件地址{get;set;}
}
私人公司(选定公司);;
上市公司联系选定公司
{
获取{return\u selectedCompany;}
专用设备
{
_所选公司=价值;
}
}
私人IEnumerable公司联系人;
公共IEnumerable公司联系人
{
获取{return\u companyContact;}
设置
{
_公司联系=价值;
}
}
下面是使用它的XAMl
<ComboBox Grid.Column="0" Grid.Row="0" MinWidth="500" ItemsSource="{Binding CompanyContacts, Mode=TwoWay}"
PlaceholderText="Select" DisplayMemberPath="EmailAddress" HorizontalAlignment="Left"
SelectedItem="{Binding SelectedCompany, Mode=TwoWay}"/>
这是假设您想要一个组合框,其中每个公司联系人有一行,并且只显示其电子邮件地址。这需要创建一个新的对象列表,其中包含电子邮件及其联系人ID,例如:Email1-Contact1,Email2-Contact1,Email2-Contact2或其他信息,如姓名,并尝试检索公司对象(这一点从未起作用,不确定是否是应用商店问题,可以选择单个成员,例如:姓名),我不清楚您现在在找什么。从这篇评论来看,你似乎有一个列表,比如说,10家公司,每个公司有2个电子邮件地址。您想要一个组合框,在单独的一行中显示所有20个EmailAddress?用户是否会单击某个电子邮件地址,然后选择“公司是该电子邮件地址的父公司”?两者都是。我认为唯一的解决办法是为每个电子邮件地址创建新的CompanyContact对象,例如:CompanyContact1{Name:ABC,ContactId:101,emailaddress:one。abc@c1.com},CompanyContact2{姓名:ABC,联系人ID:101,电子邮件地址:2。abc@c1.com}是的,这将是一个更好的方法。这样,您就可以绑定到以EmailAddress作为DisplayMemberPath的CompanyContacts列表。还有一件事你应该注意:我们知道一个公司有多个EmailAddress,但是EmailAddress也可以是多个公司的联系人吗?希望不是:)第二个问题是我已经尝试了所有可能的方法,但无法检索对象,例如:selectedCompany如果companyContact类现在有字符串EmailAddress