3 回答
TA贡献1789条经验 获得超10个赞
这个 选择Item属性返回绑定到的整个对象。所以假设您已经将一个列表绑定到 Category
对象(每个类别对象都具有名称和ID属性)。例如。 ObservableCollection<Category>
..这个 SelectedItem
属性将返回当前选定的 Category
对象。但是,为了绑定目的,这并不总是您想要的,因为这只使您能够将整个分类对象绑定到列表绑定到的属性,而不是绑定到该类别对象上的单个属性值(例如它的 ID
财产)。 因此我们有 SelectedValuePath属性和 选择价值属性作为另一种绑定方式(您可以将它们与其他方法结合使用)。假设你有一个 Product
对象,该对象是您的视图绑定到的对象(带有产品名称、权重等的属性)。也可以说你有一个 CategoryID
属性,您希望用户能够从类别列表中为产品选择一个类别。您需要将类别对象的ID属性分配给 CategoryID
属性在ProductObject上。这是 SelectedValuePath
而 SelectedValue
财产进来了。指定类别对象上的ID属性应分配给列表绑定到的ProductObject上的属性 SelectedValuePath='ID'
,然后绑定 SelectedValue
属性设置为DataContext上的属性(即。产品)。
<ComboBox ItemsSource="{Binding Categories}" SelectedValue="{Binding CategoryID, Mode=TwoWay}" SelectedValuePath="ID" DisplayMemberPath="Name" />
TA贡献1828条经验 获得超13个赞
SelectedValuePath
ItemsSource
SelectedValue
.
Person
Name
, Age
Gender
SelectedValuePath=Name
Person
Name
SelectedValue
.
SelectedValuePath
SelectedItem
Person
最新情况:正如@Joe所指出的,DisplayMemberPath属性与选定的*属性无关。其适当的描述如下:
DisplayMemberPath
SelectedValuePath
TA贡献1865条经验 获得超7个赞
SelectedItem
object
. SelectedValue
SelectedValuePath
string
listbox1.SelectedValue
string value = listbox1.SelectedValue;
listbox1.SelectedItem
ListItem item = listbox1.SelectedItem; string value = item.value;
- 3 回答
- 0 关注
- 1154 浏览
添加回答
举报