Wpf 在组合框中查找项的索引

Wpf 在组合框中查找项的索引,wpf,combobox,Wpf,Combobox,如何从组合框中找到值索引?我尝试过这个,但它总是返回-1 sexCombo.SelectedIndex = sexCombo.Items.IndexOf(teacherInfo["sex"].ToString()); 以下是如何添加组合框项目: <ComboBox x:Name="sexCombo" Margin="5,20,10,0" VerticalAlignment="Top" Width="100" Style="{StaticResource MaterialDesignFlo

如何从组合框中找到值索引?我尝试过这个,但它总是返回-1

sexCombo.SelectedIndex = sexCombo.Items.IndexOf(teacherInfo["sex"].ToString());
以下是如何添加组合框项目:

<ComboBox x:Name="sexCombo" Margin="5,20,10,0" VerticalAlignment="Top" Width="100" Style="{StaticResource MaterialDesignFloatingHintComboBox}" materialDesign:HintAssist.Hint="الجنس" HorizontalContentAlignment="Left" Height="45" VerticalContentAlignment="Bottom">
        <ComboBoxItem Content="ذكر"/>
        <ComboBoxItem Content="أنثى"/>
</ComboBox>


组合框
集合包含
组合框项
,因此需要获取相应的
组合框项
元素的索引。试试这个:

var comboBoxItem = sexCombo.Items.OfType<ComboBoxItem>().FirstOrDefault(x => x.Content.ToString() == teacherInfo["sex"].ToString());
int index = sexCombo.SelectedIndex = sexCombo.Items.IndexOf(comboBoxItem);
var comboBoxItem=sexCombo.Items.OfType().FirstOrDefault(x=>x.Content.ToString()==teacherInfo[“sex”].ToString());
int index=sexCombo.SelectedIndex=sexCombo.Items.IndexOf(comboBoxItem);

要使用combobox.items.indexof,您需要在combobox中放入字符串,如下所示:

<ComboBox x:Name="Combobox1" HorizontalAlignment="Left" Margin="504,8,0,0" VerticalAlignment="Top" Width="120" Height="25">
    <System:String>Item1</System:String>
    <System:String>Item2</System:String>
    <System:String>Item3</System:String>
</ComboBox>

项目1
项目2
项目3

然后,当您使用Combobox1.items.indexof(“Item2”)时,它将返回1。

我也遇到了同样的问题。我是这样解决的

For i = 0 To comboBox.Items.Count - 1
    If comboBox.Items(i).ToString = "searchString" Then
        comboBox.SelectedIndex = i
        Exit For
    End If
Next i

这将选择您正在搜索的字符串值。

组合框
有一个名为
SelectedItem
的属性,您可以绑定该属性查看该属性。它将为您提供您想要使用的实际项目。您将ComboBox的ItemsSource设置为什么?@mm8 ComboBox项目是在XAML中添加的。然后发布您的XAML…这些项目的类型当然很重要。@mm8我用请求的XAML更新了我的qquestion。现在它可以工作了,但是为什么我从来没有读到过
combobox
项目是
ComboBoxItem
的类型?您可以添加任何想要添加的项目,但是在XAML中添加了ComboBoxItems。好的,我现在明白了。