2016-04-14 2 views
0

У меня очень странная проблема с comboBox в C# Visual Studio.Проблемы с ComboBox

У меня есть этот код

private void cmbType_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     if(cmbType.Text == "tiger") 
     { 
      chk1.IsChecked = true; 
     } 
    } 

Если я выбираю тигр ничего не происходит, но когда я выбираю один под ней, который «медведи» .. Он проверяет ящик

+0

Есть ли белое пространство в 'tiger'? –

+0

Является ли ящик тигра проверенным, когда вы переходите на медведей? –

+0

Белых пространств нет. и нет. Когда я выбираю Тигра, ничего не происходит. Когда я переключаюсь на медведи, флажок проверяется. @AlfieGoodacre – Kevin

ответ

0

Вы можете сделать это таким образом

private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    var comboBoxItem = e.AddedItems[0] as ComboBoxItem; 
    if (comboBoxItem == null) return; 
    var content = comboBoxItem.Content as string; 
    if (content != null && content.Equals("tiger")) 
    { 
     cbAnimal.IsChecked = true; 
    } 
} 

С уважением

+0

Это работает! Отлично, и я благодарю вас, сэр! – Kevin

1

Попробуйте это:

private void cmbType_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if((string) cmbType.SelectedItem == "tiger") 
    { 
     chk1.IsChecked = true; 
    } 
} 
+0

, если я использую это ... Я получаю эту ошибку 'Дополнительная информация: Невозможно наложить объект типа« System.Windows.Controls.ComboBoxItem »на тип« System.String ». – Kevin

+0

@Kevin, как вы добавили элементы в свою поле со списком? – Schullz

0

Вы должны проверить элементы comboBox на основе индекса, так как текст изменяется после выбранного индекса

private void cmbType_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if(cmbType.SelectedText.ToString() == "tiger") 
    { 
     chk1.IsChecked = true; 
    } 
} 
+0

Когда я добавляю это, ничего не происходит. Флажок не подходит для тигра или медведей – Kevin

+0

@ Кевин извините, попробуйте сейчас –

0
private void cmbType_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if(cmbType.SelectedValue.ToString() == "tiger") 
    { 
     chk1.Checked = true; 
    } 
} 
+0

Когда я добавляю, что ничего не происходит. Флажок НЕ проверяется. – Kevin

+0

Но подождите ... нет такого свойства, как IsChecked. Вы должны использовать 'chk1.Checked = true;' – Nino

+0

Неправильно, у меня есть свойство IsChecked, Checked возвращает ошибку. – Kevin