2009-03-09 26 views
13

Tengo un ComboBox en WPF cuyo ItemsSource está configurado en una lista programáticamente. ¿Cómo haría para borrar la selección en un controlador de eventos? Lo he intentado:Programaticalmente Borrar selección en WPF ComboBox

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

Ninguno de ellos tiene ningún efecto.

Respuesta

20

comboBox.SelectedIndex = -1; trabaja para mí.

¿Está haciendo algo más en su controlador de eventos? ¿Estás usando databinding?

+1

No, no estoy usando ningún enlace de datos. Solo comprobado dos veces. –

+0

Intenta hacer un 'encontrar todas las referencias' para comboBox y comentar el código para encontrar el problema. – laktak

5
comboBox.SelectedIndex = -1; 

Es el camino a seguir. No sé por qué no funciona para ti; tal vez un controlador de eventos para SelectedIndexChanged cambia el valor?

3

me di cuenta que tenía que añadir también:

comboBox.Text = ""; 

para obtener el texto para borrar

1

Quiero borrar la ComboBox en DropDownClosed caso de otro ComboBox. Por lo tanto utilicé siguiente código dentro de la primera ComboBoxDropDownClosed caso

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