问题描述
WPF在下拉框的SelectionChanged事件中获取当前文本。如果在下拉框的SelectionChanged事件中直接获取此下拉框的文本(myComboBox.Text)这样得到的是之前选择的那个文本,想要获得当前选择的文本应该怎么操作?我在网上找到这样一个代码:///<summary>///下拉框改变事件:获取下拉框中当前选择的文本///</summary>///<paramname="sender"></param>///<paramname="e"></param>privatestringmyComboBox_SelectionChanged(objectsender,SelectionChangedEventArgse){try{objectobj=(object)e.AddedItems;stringstr=Convert.ToString(((System.Data.DataRowView)(((object[])(obj))[0])).Row.ItemArray[1]);returnstr;}catch(Exception){throw;}}自己看不懂,请高手指点!然后,我将这个代码复制到c#中运行,问题来了,一般的myComboBox_SelectionChanged是一个viod的方法,而这里是一个返回字符串的方法.报错说这个不行,应该如何解决。自己是新手,请大家不吝赐教!感激不尽!
解决方案
解决方案二:
(myCombobox.SelectedItemasSystem.Data.DataRowView).Row[0].ToString()
此方法无参返回,改不成string。选择是为了获取,不如声明一个公共变量,在selectionchanged事件中将值赋值给变量。
解决方案三:
你代码里根本没有获取myComboBox.Text啊你获取的是System.Data.DataRowView里的东西,这跟myComboBox没有必然联系吧如果你用代码将它们关联了,确保执行顺序,先更新的System.Data.DataRowView,再获取值