Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xaml 如何将组合框与另一个对象列表中的字符串列表绑定_Xaml_C# 4.0_Windows Store Apps - Fatal编程技术网

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

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

Windows应用商店应用程序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;
            }
        }
公共类公司联系人
{    
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
  • 上面的最佳方法是什么。

    您设置了DisplayMemberPath=“EmailAddress”,但您的EmailAddress属性是一个列表。我将创建一个新的get-only字符串属性,如DisplayEmailAddresses,它加入EmailAddress列表中的项目,并将其用作DisplayMemberPath


    这是假设您想要一个组合框,其中每个公司联系人有一行,并且只显示其电子邮件地址。

    这需要创建一个新的对象列表,其中包含电子邮件及其联系人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