C# 两个文件在wpf组合框中归档

C# 两个文件在wpf组合框中归档,c#,wpf,C#,Wpf,我像这样填充我的组合框 using (MorEntities1 c = new MorEntities1()) { var myViewSource = new CollectionViewSource { Source = c.People.ToList() }; myViewSource.SortDescriptions.Add( new SortDescription("Fa

我像这样填充我的组合框

            using (MorEntities1 c = new MorEntities1())
        {
            var myViewSource = new CollectionViewSource { Source = c.People.ToList() };
            myViewSource.SortDescriptions.Add(
              new SortDescription("Family_Name", ListSortDirection.Ascending)
            );
            CB_Coehn.ItemsSource = myViewSource.View;
            CB_Coehn.DisplayMemberPath = "Family_Name";
            CB_Coehn.SelectedValuePath = "Person_Id";
            CB_Coehn.SelectedIndex = 0;
       } 
但是在数据库中,我有一个字段名和字段名,如何在组合框中查看这两个字段(LastName,FirstName)

这是WPF和c#


提前感谢您的帮助

您需要创建一个包含两个标签的
项目控件
项目模板
,然后将其
文本
属性绑定到item.firstName和item.lastName


请参阅以获取示例。

如果您可以控制“People”类,则可以创建一个名为“DisplayName”的新属性,该属性将按照您想要的方式对其进行格式化,并将DisplayMemberPath设置为该属性:

public string DisplayName
{
    get { return string.format("{0}, {1}", LastName, FirstName); }
}

CB_Coehn.DisplayMemberPath = "DisplayName";
如果您可以在XAML中完成所有这一切,而不是使用代码隐藏,那么您可以这样做:

<ComboBox x:Name="CB_Coehn">
    <ComboBox.ItemTemplate>
        <DataTemplate>
            <Grid>
                <TextBlock>
                    <TextBlock.Text>
                        <MultiBinding StringFormat="{0}, {1}">
                            <Binding Path="LastName" />
                            <Binding Path="FirstName" />
                        </MultiBinding>
                    </TextBlock.Text>
                </TextBlock>
            </Grid>
        </DataTemplate>
    </ComboBox.ItemTemplate>


注意:我没有测试这段代码,只测试了内存,但它至少应该非常接近。

在代码隐藏和在XAML中执行这段代码有什么特别的原因吗?您可以轻松地在XAML中实现@mydogisbox answer。我完全同意@Ryan的观点。这感觉像是WinForms制作动态UI的一种方式。幸运的是,你能帮助我如何在XAML中做到这一点吗?@user1095549我已经更新了我的答案以包含XAML代码。很抱歉,它不起作用或者我不明白,我如何将XAML连接到实体?如果可能的话,再举一个更清楚的例子,再次表示歉意和感谢you@user1095549请用您在XAML中尝试的内容更新您的问题?我需要更多的代码来查看出了什么问题。