Wpf 在组合框中列出sql表中的名字和姓氏
我在wpf中有一个组合框,我想从sql表中列出名字和姓氏。它一次只允许一个条目。我还想给每个人一个标题,但ValueMemberPath未被识别Wpf 在组合框中列出sql表中的名字和姓氏,wpf,Wpf,我在wpf中有一个组合框,我想从sql表中列出名字和姓氏。它一次只允许一个条目。我还想给每个人一个标题,但ValueMemberPath未被识别 private void displayCust() { using (Entities c = new Entities()) { cbUsers.ItemsSource = c.Customer.ToList(); //cbUsers.ValueMemberPa
private void displayCust()
{
using (Entities c = new Entities())
{
cbUsers.ItemsSource = c.Customer.ToList();
//cbUsers.ValueMemberPath = "First";
cbUsers.DisplayMemberPath = "First";
cbUsers.DisplayMemberPath = "Last";
}
}
到目前为止,最简单的方法是重写customer类中的ToString方法: 然后你可以这样做:
using (Entities c = new Entities())
{
cbUsers.ItemsSource = c.Customer.ToList();
}
或者,您可以这样做:
using (Entities c = new Entities())
{
cbUsers.ItemsSource = c.Customer.Select(c => string.Format("{0} {1}", c.FirstName,
c.LastName)).ToList();
}
但是,这将导致在组合框中输入纯字符串值。@Sheridan解决方案是一个很好的解决方案 无论如何,如果您不想像@Blam所说的那样拥有一个结合了这两者的属性,那么您还可以为combobox提供一个带有多值转换器的项模板 看看: 这样,combobox的itemssource可以是Customer类,您可以用它来做事情,而不是作为一个普通字符串
关于,在Customer中创建一个公共属性全名并在其中合并。
using (Entities c = new Entities())
{
cbUsers.ItemsSource = c.Customer.Select(c => string.Format("{0} {1}", c.FirstName,
c.LastName)).ToList();
}