2009-05-28 20 views
6

La maggior parte delle caselle di riepilogo consente di trovare gli elementi al loro interno digitando le prime lettere del testo visualizzato. Se le lettere digitate corrispondono a più elementi, puoi continuare ad aggiungere lettere per restringere la ricerca.Come posso trovare un elemento in un ListBox WPF digitando?

Ho bisogno di farlo in un WPF ListBox. Tuttavia, gli elementi non sono semplici stringhe: sono oggetti personalizzati che io presento usando uno DataTemplate. Spero che ci sia un modo in cui posso fornire un percorso al valore stringa che dovrebbe essere usato per questa navigazione testuale con tastiera degli articoli ListBox.

Com'è possibile?

risposta

17

Si potrebbe provare a impostare IsTextSearchEnabled su true e utilizzando la proprietà associata TextSearch.TextPath.

ad es.

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

Grazie mille. Questo ha funzionato perfettamente. Per essere chiaro, il valore di TextPath dovrebbe essere un percorso (la prima parte appare come un nome di tipo, ma in questo caso l'elemento ha una proprietà chiamata 'CustomObject' e quell'oggetto ha una proprietà chiamata 'StringProperty'). –

+0

True is l'impostazione predefinita quindi dipende da te se vuoi che appaia più dettagliato o meno –

+0

Funziona bene. Il TextPath può essere associato a più di una proprietà? – Igor

Problemi correlati