首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取只包含文本条目的组合框的选定文本的最简单方法是什么?

获取只包含文本条目的组合框的选定文本的最简单方法是什么?
EN

Stack Overflow用户
提问于 2010-09-16 04:13:04
回答 8查看 69.4K关注 0票数 30

我的WPF ComboBox只包含文本条目。用户将选择一个。获取所选ComboBoxItem的文本的最简单方法是什么?请用C#和Visual Basic两种语言回答。这是我的ComboBox:

代码语言:javascript
复制
<ComboBox Name="cboPickOne">
    <ComboBoxItem>This</ComboBoxItem>
    <ComboBoxItem>should be</ComboBoxItem>
    <ComboBoxItem>easier!</ComboBoxItem>
</ComboBox>

顺便说一下,我知道答案,但不容易找到。我想我应该把这个问题贴出来帮助其他人。我学到了一个更好的答案。通过添加SelectedValuePath="Content“作为ComboBox属性,我不再需要丑陋的强制转换代码。请看下面Andy的回答。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2010-09-16 21:03:05

在xml中添加SelectedValuePath="Content"

代码语言:javascript
复制
<ComboBox 
  Name="cboPickOne"
  SelectedValuePath="Content"
  >
  <ComboBoxItem>This</ComboBoxItem>
  <ComboBoxItem>should be</ComboBoxItem>
  <ComboBoxItem>easier!</ComboBoxItem>
</ComboBox>

这样,当您在C#代码中使用.SelectedValue.ToString()时,它将只获得字符串值,而没有所有额外的垃圾信息:

代码语言:javascript
复制
   stringValue = cboPickOne.SelectedValue.ToString()
票数 62
EN

Stack Overflow用户

发布于 2010-09-16 04:34:43

为了澄清海因茨和吉姆·布里森的回答,这里是用Visual Basic编写的代码

代码语言:javascript
复制
Dim text As String = DirectCast(cboPickOne.SelectedItem, ComboBoxItem).Content.ToString()

C#

代码语言:javascript
复制
string text = ((ComboBoxItem)cboPickOne.SelectedItem).Content.ToString();

谢谢!

票数 11
EN

Stack Overflow用户

发布于 2016-09-25 09:08:31

我就是这么做的。

代码语言:javascript
复制
string SelectedItem = MyComboBox.Text;
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3721430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档