2010-09-30 77 views
21

Estoy ansioso por encontrar algún código sólido (libre, de código abierto o tutorial/ejemplo) para hacer que un WPF Combobox autocomplete/autofiltro a medida que el usuario escribe. Pero todo lo que he probado hasta ahora ha tenido algún tipo de problema ...Combobox WPF con autocompletar/auto-filtro?

Otras cosas que he considerado:

  • sé que Windows Forms' Combobox control has AutoCompleteMode y pude embed it in WPF, pero no puedo imaginar que sería jugar muy bien con mis enlaces de datos de WPF.

  • Quizás es demasiado complejo y necesito simplificar, tal vez mediante la creación de ObservableCollections unidimensionales (propiedad única) para el ComboBoxen ... Sin embargo, el desafío de aplicar múltiples filtros (uno establecido por el valor de otro control, y uno de lo que está tipeando el usuario) a múltiples controles usando 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.

Así que ... Estoy en el final. ¿Alguna sugerencia?

Respuesta

27

Si el cuadro combinado tiene alguna fuente de datos que se le atribuye, simplemente hacer

1-IsTextSearchEnabled = true. 
2-IsEditable = true. 

que son buenos para ir

+0

Me hubiera gustado poder buscar en varios campos (por ejemplo, "valor" y "descripción"). "), no distinga entre mayúsculas y minúsculas, etc., pero es un PITA. Volviendo a esto, porque funciona como se esperaba con templates et al. – ewall

+0

Puede filtrar en múltiples campos creando otra propiedad y uniendo los campos allí. Luego establece el campo de búsqueda a ese. Como tiene todos los campos combinados que necesita, la búsqueda funciona. Un poco de hack pero hace el trabajo. – Kelly

+1

@ewall puedes probar https://www.nuget.org/packages/THEFilteredComboBox/ esto creamos este control porque usar las propiedades anteriores no fue suficiente –

3
+0

Ponerlo a prueba ahora ... Hasta el momento, estoy impresionado con la atención al detalle del autor. – ewall

+0

No terminé usando esto en el proyecto actual, pero me mantendré a la mano para los futuros, ya que es bastante sólido. ¡Gracias! – ewall

+6

El enlace de arriba está muerto. Pero usando web.archive.org encontré que el código está alojado aquí http://wpfactb.codeplex.com/ (puede leer el artículo aquí http://web.archive.org/web/20120421111715/http:// blogs.windowsclient.net/dragonz/archive/2010/02/23/autocomplete-textbox-control-for-wpf.aspx) –