2009-05-28 26 views
6

La mayoría de los cuadros de lista le permiten encontrar elementos dentro de ellos escribiendo las primeras letras del texto que se muestra. Si las letras mecanografiadas coinciden con varios elementos, puede seguir agregando letras para limitar la búsqueda.¿Cómo puedo encontrar un elemento en un ListBox de WPF escribiendo?

Necesito hacer esto en un WPF ListBox. Sin embargo, los elementos no son cadenas simples, son objetos personalizados que presento usando un DataTemplate. Espero que haya una forma en que pueda proporcionar una ruta al valor de cadena que se debe usar para esta navegación de teclado textual de los elementos ListBox.

¿Cómo es esto posible?

Respuesta

17

Puede intentar establecer IsTextSearchEnabled en verdadero y utilizando la propiedad adjunta TextSearch.TextPath.

p. Ej.

<ListBox IsTextSearchEnabled="True" 
     TextSearch.TextPath="CustomObject.StringProperty"/> 
+1

Muchas gracias. Esto funcionó perfectamente. Para que quede claro, el valor de TextPath debe ser una ruta (la primera parte parece un nombre de tipo, pero en este caso el elemento tiene una propiedad llamada 'CustomObject' y ese objeto tiene una propiedad llamada 'StringProperty'). –

+0

Es cierto por defecto, depende de usted si desea que se vea más detallado o no –

+0

Funciona bien. ¿Puede TextPath estar vinculado a más de una propiedad? – Igor

Cuestiones relacionadas