如何将组合框与另一个对象列表中的字符串列表绑定

How to bind a combo box with a List of string within another List of objects

Windows store App 8.1:如何将组合框与另一个对象列表中的字符串列表绑定,这可能吗?

这是我正在尝试的。

 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;
            }
        }

这是使用它的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}"/>
  1. 如何在下拉列表中显示所有公司联系人的所有电子邮件
  2. 一旦选择了一封电子邮件,我需要保存该电子邮件的公司对象或所选电子邮件的 Contactid。

上面的最佳方法是什么。

您设置了 DisplayMemberPath="EmailAddress" 但您的 EmailAddress 属性 是一个列表。我会创建一个新的仅获取字符串 属性,例如 DisplayEmailAddresses,它连接 EmailAddress 列表中的项目,并将其用作 DisplayMemberPath。

这是假设您想要一个组合框,每个 CompanyContact 一行,并且只显示他们的电子邮件地址。