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 關注
- 1212 瀏覽
添加回答
舉報