【发布时间】:2017-05-20 18:33:36
【问题描述】:
我的视图中有这个组合框:
<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; }
}
如何将组合框中的选定值绑定到字符串变量,以便在视图模型中使用它?这是我迄今为止实现的,但它不起作用,因为我不太了解这个绑定的东西。
【问题讨论】:
-
你有得到任何值吗? (在setter中设置断点检查,查看VS输出窗口绑定错误信息)
-
请注意,您的 ComboBox 中的元素是 ComboBoxItems,不是字符串。
SelectedValue单独不起作用(请注意,您绑定到字符串属性,这将导致绑定无法更新)。您还需要使用SelectedValuePath属性来指定包含字符串(即 Content)的 ComboBoxItem 对象的属性。 -
你为什么不赞成我的回答?它为您的问题提供了准确的解决方案。您可以或多或少地按原样复制和粘贴...?
标签: c# wpf data-binding combobox