[英]Setting multiple SelectedValue on WPF ComboBox
注意:如果某些參數看起來很奇怪,我正在使用Mahapps.Metro 。
因此,我有一個名為User
的模型,該模型具有StateId
。
組合框充滿了States
,所以當被選擇的狀態,我把Id
選定狀態變為User.StateId
是這樣的:
<ComboBox
Grid.Column="0"
Margin="0,5,0,0"
mah:TextBoxHelper.ClearTextButton="True"
mah:TextBoxHelper.Watermark="Select a State..."
ItemsSource="{Binding States, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectedItem="{Binding SelectedState, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectedValue="{Binding User.StateId, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
SelectedValuePath="Id" />
這樣就可以了。 但是,如果我想將所選項目的另一個參數放入User
模型怎么辦? 假設User
還有一個名為StateName
的屬性,當我選擇一個新的State
,我將State.Id
和State.Name
都傳遞給User.StateId
和User.StateName
?
希望這不會太令人困惑。 謝謝!
SelectedValue
和SelectedItem
只能綁定到一個源屬性。 但是您應該能夠將SelectedItem
綁定到User
類的State
屬性,而不是嘗試同時設置StateId
和StateName
。
如果User
類沒有State
屬性,則可以綁定到視圖模型的SelectedState
屬性(看起來好像已經存在),然后依次設置用戶的StateId
和StateName
屬性。 無論如何,您僅應綁定到SelectedItem
或SelectedValue
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.