2009-03-09 8 views
13

J'ai un contrôle ComboBox dans WPF dont ItemsSource est défini par programme sur une liste. Comment procéder pour effacer la sélection dans un gestionnaire d'événements? J'ai essayé:La sélection par programmation dans WPF ComboBox

comboBox.SelectedIndex = -1; 
comboBox.SelectedItem = null; 
comboBox.SelectedValue = null; 
comboBox.SelectedValue = ""; 

Aucun d'entre eux n'a aucun effet.

Répondre

20

comboBox.SelectedIndex = -1; fonctionne pour moi.

Faites-vous autre chose dans votre gestionnaire d'événements? Utilisez-vous la liaison de données?

+1

Non, je ne suis pas utiliser de liaison de données. Juste vérifié deux fois. –

+0

Essayez de faire une 'recherche de toutes les références' pour comboBox et commentez le code pour trouver le problème. – laktak

5
comboBox.SelectedIndex = -1; 

Est-ce le chemin à parcourir? Je ne sais pas pourquoi ça ne marche pas pour toi; peut-être un gestionnaire d'événements pour SelectedIndexChanged change la valeur?

3

Je trouve que je devais ajouter aussi:

comboBox.Text = ""; 

pour obtenir le texte pour effacer

1

Je veux effacer le ComboBox en cas DropDownClosed d'un autre ComboBox. Par conséquent, je le code suivant à l'intérieur de la première ComboBoxDropDownClosed événement

private void comboBox1_DropDownClosed(object sender, EventArgs e) 
{ 
    this.comboBox.ItemsSource = null; 
} 
Questions connexes