与wpf ComboBox DisplayMemberPath,SelectedValue和SelectedValuePath混淆

use*_*259 67 wpf

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

  1. 的DisplayMemberPath
  2. 的SelectedValue
  3. SelectedValuePath

我正在构建一个主详细信息表单.

  1. ComboBox充满了客户
  2. 用户在组合中选择客户
  3. 所有textBoxes EG填写正确

我遇到的问题我已经使它工作但我不明白这些属性和差异.是否有一个简单的例子解释他们做了什么?

Yog*_*esh 145

我想我们可以通过一个例子更好地理解这一点.看到这堂课:

public class Employee
{
   public int Id { get; set; }
   public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

和以下xaml:

<ComboBox ItemsSource="{Binding Source={StaticResource Employees}}"
          DisplayMemberPath="Name"
          SelectedValuePath="Id"/>
Run Code Online (Sandbox Code Playgroud)

DisplayMemberPath指向Name属性,因此下拉列表中包含ComboBoxEmployee条目中显示的值将是对象的Name属性Employee.

要了解其他两个,你应该先了解SelectedItem.SelectedItem将从中返回当前选定的Employee对象ComboBox.您还可以SelectedItem使用Employee对象分配以设置当前选择ComboBox.

SelectedValuePath指向Id,这意味着您可以通过使用获得Id当前选择EmployeeSelectedValue.您还可以设置当前选择EmployeeComboBox通过设置SelectedValueId(我们认为会出现在Employees列表中).

  • 这是我见过的这些概念最简洁,最容易理解的解释. (8认同)
  • 你是对的.该类只是为了显示伪代码.固定它. (2认同)