【问题标题】:Confused with wpf ComboBox DisplayMemberPath,SelectedValue and SelectedValuePath与 wpf ComboBox DisplayMemberPath、SelectedValue 和 SelectedValuePath 混淆
【发布时间】:2011-04-17 08:34:41
【问题描述】:

我一直在为那些组合框属性而苦恼

  1. DisplayMemberPath
  2. 选定值
  3. 选定值路径

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

  1. ComboBox 填充了客户
  2. 用户在 Combo 中选择客户
  3. 所有文本框 EG 均正确填充

我遇到的问题已经解决了,但我不明白这些属性和区别。 有没有一个点头的例子来解释他们做什么?

【问题讨论】:

    标签: wpf


    【解决方案1】:

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

    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 属性。

    要了解其他两个,首先要了解SelectedItemSelectedItem 将从ComboBox 返回当前选择的Employee 对象。您还可以将SelectedItemEmployee 对象一起分配,以在ComboBox 中设置当前选择。

    SelectedValuePath 指向Id,表示可以通过SelectedValue 获取当前选中的EmployeeId。您还可以通过将SelectedValue 设置为Id(我们假设它会出现在Employees 列表中)来设置ComboBox 中当前选定的Employee

    【讨论】:

    • 这是我见过的对这些概念最简洁、最容易理解的解释。
    • 注意:此示例不起作用,因为 IdName 必须是属性,而不是类字段。
    • 你是对的。该类只是为了显示伪代码。修好了。
    • @Yogesh IMO, for me,这比this answer 更好、更简洁、更容易理解。我说for me,因为我们都有不同的理解事物的方式。也许,对于其他一些读者来说,另一个答案更容易理解。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-11
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    • 1970-01-01
    • 1970-01-01
    • 2011-06-21
    相关资源
    最近更新 更多