2009-03-09 10 views
13

Ich habe eine ComboBox in WPF, deren ItemsSource programmatisch auf eine Liste gesetzt ist. Wie würde ich die Auswahl in einem Event-Handler löschen? Ich habe versucht:Programmatische Auswahl in WPF löschen Kombinationsfeld

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

Keine von ihnen haben keine Wirkung.

Antwort

20

comboBox.SelectedIndex = -1; funktioniert für mich.

Machst du noch etwas in deinem Event-Handler? Verwenden Sie Datenbindung?

+1

Nein, ich bin keine Daten mit Bindung. Einfach doppelt überprüft. –

+0

Versuchen Sie, für comboBox 'alle Referenzen zu finden und den Code zu kommentieren, um das Problem zu finden. – laktak

5
comboBox.SelectedIndex = -1; 

Ist der Weg zu gehen. Ich weiß nicht, warum es nicht für dich funktioniert; Vielleicht ändert ein Event-Handler für SelectedIndexChanged den Wert?

3

fand ich, dass ich brauchte, um auch hinzufügen:

comboBox.Text = ""; 

den Text bekommen

1

ich den ComboBox in DropDownClosed Fall eines anderen ComboBox löschen möge zu löschen. Deshalb habe ich innerhalb der ersten ComboBoxDropDownClosed Ereignis folgenden Code

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