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中尝试的内容更新您的问题?我需要更多的代码来查看出了什么问题。