Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从组合框检索SelectedItem时出错_C#_Wpf_Combobox - Fatal编程技术网

C# 从组合框检索SelectedItem时出错

C# 从组合框检索SelectedItem时出错,c#,wpf,combobox,C#,Wpf,Combobox,我试图检索组合框的选定值,但出现了一个奇怪的问题 我试过: myCombo.SelectedItem.ToString()我将返回值: System.Windows.Controls.ComboBoxItem: myValue. 然后我尝试: ComboBoxItem item = ((ComboBoxItem)myCombo.selectedItem); item.content.toString(); 如果所选索引为0或1,则此操作正常。但是,如果选择了任何其他索引,则会显示异常: 未处

我试图检索组合框的选定值,但出现了一个奇怪的问题

我试过:

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

r组合框

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

通过编程添加的字符串可以像XAML那样添加:

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

谢谢你的帮助,但现在这样做与我的问题正好相反。例如,索引0和1获取System.Windows.Controls.ComboBoxItem MyXamItem,而其他索引则获取正确的值。您可以发布XAML的剪报吗?听起来有点不对劲。在XAML中,如果将SelectedValuePath=“Content”添加到ComboBox控件,SelectedValue属性将具有所选项目的实际字符串值。