查找组合框中某项内容的索引
如何从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 MaterialDesignFloatingHintComboBox}" materialDesign:HintAssist.Hint="الجنس" HorizontalContentAlignment="Left" Height="45" VerticalContentAlignment="Bottom">
<ComboBoxItem Content="ذكر"/>
<ComboBoxItem Content="أنثى"/>
</ComboBox>
的Items
收集ComboBox
包含ComboBoxItems
,所以你需要得到相应的ComboBoxItem
元素的索引。试试这个:
var comboBoxItem = sexCombo.Items.OfType<ComboBoxItem>().FirstOrDefault(x => x.Content.ToString() == teacherInfo["sex"].ToString());
int index = sexCombo.SelectedIndex = sexCombo.Items.IndexOf(comboBoxItem);
现在它可以工作,但为什么我从来没有读过'combobox'项目是'ComboBoxItem'类型? –
您可以添加任何您想要的项目,但添加了ComboBoxItems的XAML中。 – mm8
好的,我现在明白了。 –
'ComboBox'有一个名为'SelectedItem'的属性,你可以绑定来查看。它会给你你想要使用的实际项目。 – XAMlMAX
你是否将ComboBox的ItemsSource设置为? – mm8
@ mm8组合框项目已添加到XAML中。 –