我是WPF的新手,我试图弄清楚如何获取ComboBox中所选项目的当前文本值。我在this question看到有人建议做MyComboBox.SelectedItem.Text
。然而,SelectedItem
为我返回object
,所以我只有像ToString()
,Equals
等选项。发生了什么?我使用.NET 3.5,在VS 2010中开发。我认为可能使用的其他方法,如MyComboBox.SelectedValue
,也返回object
。 SelectedIndex
返回int
,但我想要一个string
值。 MyComboBox
是ComboBox
的类型。我正在访问它在一个方法来处理SelectionChanged事件。WPF C# - ComboBox方法返回对象而不是字符串
回答
的每一项都是一个对象。 显示的数据是Object.ToString(Item.ToString)
但是,您可以使用Object中的任何其他Object成员,属性或方法。 您已将对象添加到组合中,然后您知道对象类型并且可以投射它。
你试过MyComboBox.Text
?这会返回当前选定项目的文本。
您还可以将SelectItem
解析为您设置的数据源的类型,并直接从对象中获取所需的文本属性?
即
MyObject obj = (MyObject)MyComboBox.SelectedItem;
string text = obj.Text;
这绝对给了我一个字符串值。不过,即使我将赋予我的事件处理函数的'object'赋予'ComboBox'并使用它的'Text'值,看起来我已经获得了ComboBox曾经的价值。 – 2010-07-30 12:54:48
你会得到过去的价值吗?在设置新项目之前是否以某种方式触发事件? – w69rdy 2010-07-30 12:58:02
我不确定。我在我的XAML中有:'SelectionChanged =“Product_SelectionChanged”',而'Product_SelectionChanged'是我的事件处理程序方法的名称。我应该使用不同的事件吗? – 2010-07-30 13:01:52
- 1. Angular4 - 返回的Http错误是字符串而不是对象
- 2. Grails配置文件返回空对象,而不是字符串
- 3. AngularJS如何返回字符串而不是Json对象
- 4. 使用字符串而不是对象的Sequelize返回数组
- 5. JSON作为单独的字符串返回而不是对象
- 6. 的SimpleXML返回一个对象,而不是字符串
- 7. 阵列返回Fixnum对象,而不是字符串
- 8. SQLAlchemy返回字符串而不是日期时间对象
- 9. 为什么redux形式返回字符串而不是对象?
- 10. XML作为字符串返回,而不是对象
- 11. 量角器:element.getText()返回一个对象,而不是字符串
- 12. Json_encode返回字符串而不是对象
- 13. 西河返回一个字符串,而不是对象(解组)
- 14. Mongoose返回字符串而不是对象
- 15. JSON.parse()返回一个字符串,而不是对象
- 16. Java getter方法返回null而不是字符串
- 17. 蟒蛇方法返回的字符串,而不是instancemethod
- 18. 字符串对象返回
- 19. 空字符串返回而不是IndexError
- 20. StringTokenizer返回null而不是字符串
- 21. 方法返回功能,而不是串
- 22. 为什么WPF绑定更新字符串而不是对象?
- 23. 显示对象而不是字符串
- 24. RabbitListener返回字符串作为ASCII而不是字符串
- 25. 调用方法不返回字符串
- 26. 为什么jquery插件函数总是返回对象而不是字符串?
- 27. LXML - 函数返回清洗对象,而不是只是一个字符串
- 28. 方法返回int,而不是字符的java中
- 29. C#API返回字符串而不是XML包装的字符串
- 30. numpy.loadtxt返回字符串再版字节字符串,而不是字符串
如何填充(或数据绑定)组合框?原则上,selectedItem与放入的类型相同,仅作为对象公开。它可以像s =(string)cbx.SelectedItem一样简单;' – 2010-07-30 14:17:01