我的WPF ComboBox只包含文本条目。用户将选择一个。获取所选ComboBoxItem的文本的最简单方法是什么?请用C#和Visual Basic两种语言回答。这是我的ComboBox:
<ComboBox Name="cboPickOne">
<ComboBoxItem>This</ComboBoxItem>
<ComboBoxItem>should be</ComboBoxItem>
<ComboBoxItem>easier!</ComboBoxItem>
</ComboBox>
顺便说一下,我知道答案,但不容易找到。我想我应该把这个问题贴出来帮助其他人。我学到了一个更好的答案。通过添加SelectedValuePath="Content“作为ComboBox属性,我不再需要丑陋的强制转换代码。请看下面Andy的回答。
发布于 2010-09-16 21:03:05
在xml中添加SelectedValuePath="Content"
<ComboBox
Name="cboPickOne"
SelectedValuePath="Content"
>
<ComboBoxItem>This</ComboBoxItem>
<ComboBoxItem>should be</ComboBoxItem>
<ComboBoxItem>easier!</ComboBoxItem>
</ComboBox>
这样,当您在C#代码中使用.SelectedValue.ToString()
时,它将只获得字符串值,而没有所有额外的垃圾信息:
stringValue = cboPickOne.SelectedValue.ToString()
发布于 2010-09-16 04:34:43
为了澄清海因茨和吉姆·布里森的回答,这里是用Visual Basic编写的代码
Dim text As String = DirectCast(cboPickOne.SelectedItem, ComboBoxItem).Content.ToString()
和C#
string text = ((ComboBoxItem)cboPickOne.SelectedItem).Content.ToString();
谢谢!
发布于 2016-09-25 09:08:31
我就是这么做的。
string SelectedItem = MyComboBox.Text;
https://stackoverflow.com/questions/3721430
复制相似问题