2017-11-03 16 views
0

ComboBoxの2つがあります。最初のものが変更されたときはComboBoxの内容が更新されます。更新されたComboBoxは、更新時に常に空のエントリを表示することを除いて、すべて正常に機能します。ここでItemSourceがコードの背後から更新されたときにコンボボックスの選択インデックスが変更されない

は、それからのスクリーンショットです:ここでは

enter image description here

は、私はそれを更新する方法である:

var comboBox = sender as ComboBox; 

if(comboBox.SelectedIndex == 0) 
    comboDetail.ItemsSource = new List<string> { model.Detail[0] , model.Detail[1] }; 

else if (comboBox.SelectedIndex == 1) 
    comboDetail.ItemsSource = new List<string> { model.Detail[2] }; 

else if (comboBox.SelectedIndex == 2) 
    comboDetail.ItemsSource = new List<string> { model.Detail[3] , model.Detail[4] }; 

comboDetail.SelectedItem = 0; 
comboDetail.Items.Refresh(); 
+0

は、ここでは問題ではありません。私は2番目の 'ComboBox'を正常に更新できます。問題は、私が 'comboDetail.SelectedItem = 0;'を使うときに期待したように最初の項目を選択しないで、2番目の項目を更新するときです。だから、最初の選択時に、空の文字列があり、それは他の文字列の1つを選択すると消えてしまいます。 – VegaBrothers

答えて

2

あなたが最初の要素を選択します。 SelecteItemどの項目オブジェクトが選択され、位置ではないかを決定します。代わりに

comboDetail.SelectedItem = 0; 
comboDetail.Items.Refresh(); 

書き込み

:その部分@PratikGhag

comboDetail.SelectedIndex = 0; 
+0

ありがとう、私は1時間それを見た後にそれを逃したとは思わない! – VegaBrothers

関連する問題