我认为我有这个组合框:
<ComboBox SelectedValue="{Binding StringObj, UpdateSourceTrigger=PropertyChanged}">
<ComboBoxItem>string0</ComboBoxItem>
<ComboBoxItem>string1</ComboBoxItem>
<ComboBoxItem>string2</ComboBoxItem>
<ComboBoxItem>string3</ComboBoxItem>
</ComboBox>
在我的视图模型中,我有这个字符串对象:
private string _stringObj;
public string StringObj
{
get { return _stringObj; }
set { _stringObj = value; }
}
如何将组合框中的选定值绑定到字符串变量,以便在视图模型中使用它?这是我到目前为止所实现的,但它不起作用,因为我不太了解这种绑定的东西。
答案 0 :(得分:0)
您无法将ComboBoxItem
属性设置为ComboBoxItems
值。
您可以将strings
替换为XAML中的SelectedItem
并绑定<ComboBox SelectedItem="{Binding StringObj, UpdateSourceTrigger=PropertyChanged}"
xmlns:s="clr-namespace:System;assembly=mscorlib">
<s:String>string0</s:String>
<s:String>string1</s:String>
<s:String>string2</s:String>
<s:String>string3</s:String>
</ComboBox>
属性:
SelectedValuePath
或者您只需将<ComboBox SelectedValue="{Binding StringObj, UpdateSourceTrigger=PropertyChanged}"
SelectedValuePath="Content">
<ComboBoxItem>string0</ComboBoxItem>
<ComboBoxItem>string1</ComboBoxItem>
<ComboBoxItem>string2</ComboBoxItem>
<ComboBoxItem>string3</ComboBoxItem>
</ComboBox>
属性设置为“内容”:
Content
这会将您的源属性设置为所选ComboBoxItem
的{{1}}。