Jak wybrać element w c# w kontrolce ComboBox.

0

Witam jak wybrać element domyślny w comboBox. Mam taki oto fragment kodu wyświetlam sobie wartości pól w miejscu indexRate wyświetla mi się 0. Chodzi o zmienną typu int. W elemencie comboBox21 mam zapisany element pod pozycją index 0. Jak na razie nic się nie wybiera. ComboBox pozostaje dalej pusty, co zrobić aby się wybrał ?

                            rate = e.Data[43];

                            MessageBox.Show(rate.ToString());

                            int indexRate = comboBox21.Items.IndexOf(rate.ToString());

                            MessageBox.Show(indexRate.ToString());

                            comboBox21.SelectedIndex = indexRate;
2

Chrzani Waść, jeżeli rate.ToString() nie ma w kombo to indexRate będzie mieć wartość -1
Natomiast jeżeli indexRate ma wartość 0 to w kombo zostanie wybrany pierwszy element.

Jedyna możliwość że dzieje się tak jak opisujesz - to że zanim zdążysz zobaczyć że to się zrobiło
wykonuje się gdzieś comboBox21.SelectedIndex = -1; lub
skasowanie 0-go elementu z kombo i dodanie go z powrotem.

0

Czy coś takiego będzie pomocne? Bezpośrednio z listy do kontrolki i do kolejnej.

private void Window_Activated(object sender, EventArgs e)
        {
            List<int> lista = new List<int> { 1, 2, 3 };
            ComboBB.ItemsSource = lista;
            ComboBB.SelectedIndex = lista.Count - 2;

            ComboCC.ItemsSource = ComboBB.SelectedValue.ToString();
            ComboCC.SelectedIndex = 0;
            
            ComboBB.SelectionChanged += ComboBB_SelectionChanged;
        }

        private void ComboBB_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ComboCC.ItemsSource = ComboBB.SelectedValue.ToString();
            ComboCC.SelectedIndex = 0;
        }
0

ComboCC.ItemsSource = musi dostać listę nie pojedynczy napis.

W ComboBB_SelectionChanged()

 ComboCC.ItemsSource = new List<string> { ComboBB.SelectedValue.ToString(); }
 ComboCC.SelectedIndex = 0;

W Window_Activated()

  ComboBB_SelectionChanged(null,null);
  // ComboBB.SelectionChanged += ComboBB_SelectionChanged; // to przy formatce ma być wpisane nie tu

1 użytkowników online, w tym zalogowanych: 0, gości: 1