2017-09-01 83 views
0

如何從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> 
+0

'ComboBox'有一個名爲'SelectedItem'的屬性,你可以綁定來查看。它會給你你想要使用的實際項目。 – XAMlMAX

+0

你是否將ComboBox的ItemsSource設置爲? – mm8

+0

@ mm8組合框項目已添加到XAML中。 –

回答

1

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); 
+0

現在它可以工作,但爲什麼我從來沒有讀過'combobox'項目是'ComboBoxItem'類型? –

+0

您可以添加任何您想要的項目,但添加了C​​omboBoxItems的XAML中。 – mm8

+0

好的,我現在明白了。 –