注意:如果某些参数看起来很奇怪,我使用的是Mahapps.Metro。
所以,我有一个叫做User的模型,它有一个StateId。
Combobox中填充了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?
希望这不是太让人困惑。谢谢!
发布于 2018-07-06 09:58:09
SelectedValue和SelectedItem只能绑定到单个源属性。但是,您应该能够将SelectedItem绑定到User类的State属性,而不是同时设置StateId和StateName。
如果User类没有State属性,则可以绑定到视图模型的SelectedState属性(似乎已经绑定了),然后设置用户的StateId和StateName属性。无论如何,您只应该绑定到SelectedItem或SelectedValue。
https://stackoverflow.com/questions/51207144
复制相似问题