我正在尝试检索组合框的选定值,但我发生了一个奇怪的问题。
我试过了:
myCombo.SelectedItem.ToString()
我正在追回价值:
System.Windows.Controls.ComboBoxItem: myValue.
然后我尝试了:
ComboBoxItem item = ((ComboBoxItem)myCombo.selectedItem);
item.content.toString();
如果选择的索引为0或1,则此方法正常。但是,如果选择任何其他索引,则显示异常:
InvalidCastException未处理无法处理类型的case对象 ' System.String'输入' System.Windows.Controls.ComboBoxItem'
索引0和1之间的唯一区别是,索引0和1是通过XAML手动添加的,而其他的是通过以下数据库查询以编程方式添加:
string myValue = reader["my_table_column"].toString();
myCombo.Items.Add(myValue);
感谢您提供的任何帮助
更新 正如Wayne Tanner在下面请求的是组合框的XAML片段
<ComboBox Height="23" HorizontalAlignment="Left" Margin="26,6,0,0" Name="cboIVRGroup" SelectedIndex="0" VerticalAlignment="Top" Width="143" SelectionChanged="cboIVRGroup_SelectionChanged">
<ComboBoxItem Content="All IVRs" />
<ComboBoxItem Content="Unassigned IVRs" />
</ComboBox>r the combo box
答案 0 :(得分:0)
您应该能够使用SelectedValue属性来获取实际选定的字符串。
答案 1 :(得分:0)
可以像XAML那样添加以编程方式添加的:
string myValue = reader["my_table_column"].toString();
ComboBoxItem item = new ComboBoxItem();
item.Content = myValue;
myCombo.Items.Add(item);