【发布时间】:2011-04-17 08:34:41
【问题描述】:
我一直在为那些组合框属性而苦恼
- DisplayMemberPath
- 选定值
- 选定值路径
我正在构建一个主详细信息表单。
- ComboBox 填充了客户
- 用户在 Combo 中选择客户
- 所有文本框 EG 均正确填充
我遇到的问题已经解决了,但我不明白这些属性和区别。 有没有一个点头的例子来解释他们做什么?
【问题讨论】:
标签: wpf
我一直在为那些组合框属性而苦恼
我正在构建一个主详细信息表单。
我遇到的问题已经解决了,但我不明白这些属性和区别。 有没有一个点头的例子来解释他们做什么?
【问题讨论】:
标签: wpf
我想我们可以通过一个例子更好地理解这一点。看到这个类:
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 对象。您还可以将SelectedItem 与Employee 对象一起分配,以在ComboBox 中设置当前选择。
SelectedValuePath 指向Id,表示可以通过SelectedValue 获取当前选中的Employee 的Id。您还可以通过将SelectedValue 设置为Id(我们假设它会出现在Employees 列表中)来设置ComboBox 中当前选定的Employee。
【讨论】:
Id 和 Name 必须是属性,而不是类字段。
for me,这比this answer 更好、更简洁、更容易理解。我说for me,因为我们都有不同的理解事物的方式。也许,对于其他一些读者来说,另一个答案更容易理解。