从ComboBox错误中检索SelectedItem

时间:2011-10-21 15:11:33

标签: c# wpf combobox

我正在尝试检索组合框的选定值,但我发生了一个奇怪的问题。

我试过了:

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

2 个答案:

答案 0 :(得分:0)

您应该能够使用SelectedValue属性来获取实际选定的字符串。

答案 1 :(得分:0)

可以像XAML那样添加以编程方式添加的:

string myValue = reader["my_table_column"].toString();
ComboBoxItem item = new ComboBoxItem();
item.Content = myValue;
myCombo.Items.Add(item);