2010-09-26 81 views
64

我一直与组合框属性困惑与WPF组合框的DisplayMemberPath,的SelectedValue和SelectedValuePath

  1. 的DisplayMemberPath
  2. 的SelectedValue
  3. SelectedValuePath

我建立一个主从表单挣扎。

  1. 组合框充满了客户
  2. 用户选择组合
  3. 一个客户
  4. 所有文本框EG填充正确

我有我已工作,但这个问题我不明白这些属性和差异。 有没有解释他们做什么的不好的例子?你可能会认为是自我解释。不要对我不利。

感谢您的输入

回答

135

我认为我们可以更好地理解这种用一个例子。看到这个类:

public class Employee 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
} 

和下面的XAML代码:

<ComboBox ItemsSource="{Binding Source={StaticResource Employees}}" 
      DisplayMemberPath="Name" 
      SelectedValuePath="Id"/> 

DisplayMemberPath指向Name属性,所以在包含在下拉列表中ComboBoxEmployee项显示的值,将Employee对象的Name属性。

要了解另外两个,您应该先了解SelectedItemSelectedItem将从ComboBox返回当前选择的Employee对象。您也可以将SelectedItemEmployee对象一起分配给ComboBox中的当前选择。

SelectedValuePathId,这意味着你可以使用SelectedValue获取当前的选择EmployeeId。您也可以通过将SelectedValue设置为Id(我们假设其将出现在Employees列表中)来设置ComboBox中当前选择的Employee

+0

感谢您的回复。更清晰! – user451259 2010-09-26 16:45:26

+8

这是最简洁,最容易理解我见过的这些概念的解释。 – JoelWilson 2014-03-13 22:15:51

+1

注意:这个示例不起作用,因为'Id'和'Name'必须是属性,而不是类字段。 – Shorstok 2016-08-04 11:04:10

相关问题