WPF Combobox con autocompletar/auto-filtro?
.net-3.5 autocomplete (2)
Prueba este: http://blogs.windowsclient.net/dragonz/archive/2010/02/23/autocomplete-textbox-control-for-wpf.aspx
Estoy ansioso por encontrar algún código sólido (código fuente libre, o tutorial / ejemplo) para hacer que WPF Combobox autocomplete / autofiltro a medida que el usuario escribe. Pero todo lo que he intentado hasta ahora ha tenido algún tipo de problema ...
Un TextBox Autocompletar WPF reutilizable estuvo cerca, pero no puedo hacer que funcione con más de un filtro (más información aquí ).
El cuadro de texto / combobox autocompletar de WPF no funciona porque hereda de UserControl y, por lo tanto, no es compatible con las plantillas de datos que necesito (para mostrar / seleccionar el valor de una propiedad para un objeto con varias propiedades).
Filtrar automáticamente un ComboBox en WPF no funcionó porque parece que nunca encontró la porción EditableTextBox del código ComboBox heredado (a través de
(TextBox)base.GetTemplateChild("PART_EditableTextBox")
que parece devolver siempre nulo).Construir un ComboBox filtrado para WPF simplemente se atasca en un bucle de actualización y luego desborda la pila después de escribir unas pocas letras.
Otras cosas que he considerado:
Sé que el control Combobox de Windows Forms tiene AutoCompleteMode y podría incrustarlo en WPF , pero no me puedo imaginar que funcionaría muy bien con mis enlaces de datos WPF.
Tal vez es demasiado complejo y necesito simplificarlo, tal vez construyendo colecciones observables de una dimensión (propiedad única) para el ComboBoxen ... Sin embargo, el desafío de aplicar filtros múltiples (uno establecido por el valor de otro control, y uno del que el el usuario está escribiendo) a múltiples controles utilizando diferentes vistas del mismo DataSet requeriría una cantidad ridícula de poder de procesamiento para destruir y reconstruir la lista cada vez que el usuario escribe un personaje.
Entonces ... estoy en el final. ¿Alguna sugerencia?
Si su Combobox tiene alguna fuente de datos adjunta, solo haga
1-IsTextSearchEnabled = true.
2-IsEditable = true.
tú eres bueno para irte