与wpf ComboBox DisplayMemberPath,SelectedValue和SelectedValuePath混淆

时间:2010-09-26 08:06:08

标签: wpf

我一直在努力使用那些comboBox属性

  1. DisplayMemberPath
  2. SelectedValue
  3. SelectedValuePath
  4. 我正在构建一个主详细信息表单。

    1. ComboBox充满了客户
    2. 用户在组合中选择客户
    3. 所有textBoxes EG填写正确
    4. 我遇到的问题我已经使它运作但我不理解这些属性和差异。 是否有一个简单的例子解释他们做了什么?

1 个答案:

答案 0 :(得分:144)

我认为我们可以通过一个例子更好地理解这一点。见这堂课:

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条目中显示的值将为{{1 Name对象的属性。

要了解其他两个,您应该先了解EmployeeSelectedItem将从SelectedItem返回当前选定的Employee对象。您还可以为ComboBox分配SelectedItem个对象,以便在Employee中设置当前选择。

ComboBox指向SelectedValuePath,这意味着您可以使用Id获取当前所选Id的{​​{1}}。您还可以通过将Employee设置为SelectedValue(我们假设它将出现在Employee列表中)来设置ComboBox中当前选定的SelectedValue