首页 文章

与wpf ComboBox DisplayMemberPath,SelectedValue和SelectedValuePath混淆

提问于
浏览
64

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

  • DisplayMemberPath

  • SelectedValue

  • SelectedValuePath

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

  • ComboBox充满了客户

  • 用户在组合中选择客户

  • 所有textBoxes EG填写正确

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

1 回答

  • 140

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

    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 属性,因此 ComboBox 中显示的值和下拉列表中包含的 Employee 条目将是 Employee 对象的 Name 属性 .

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

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

相关问题