2009-05-28 3 views
6

La plupart des zones de liste vous permettent de trouver des éléments à l'intérieur en tapant les premières lettres du texte affiché. Si les lettres tapées correspondent à plusieurs éléments, vous pouvez continuer à ajouter des lettres pour affiner la recherche.Comment puis-je trouver un élément dans un ListBox WPF en tapant?

Je dois faire cela dans un WPF ListBox. Cependant, les éléments ne sont pas des chaînes simples - ce sont des objets personnalisés que je présente en utilisant un DataTemplate. J'espère que je peux fournir un chemin à la valeur de chaîne qui devrait être utilisée pour cette navigation textuelle du clavier des éléments ListBox.

Comment est-ce possible?

Répondre

17

Vous pouvez essayer de définir IsTextSearchEnabled sur true et d'utiliser la propriété jointe TextSearch.TextPath.

par exemple.

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

Merci beaucoup. Cela a fonctionné parfaitement. Pour être clair, la valeur TextPath doit être un chemin (la première partie ressemble à un nom de type, mais dans ce cas l'élément a une propriété appelée 'CustomObject' et cet objet a une propriété appelée 'StringProperty'.) –

+0

True est la valeur par défaut est donc à vous si vous voulez qu'il soit plus verbeux ou non –

+0

Fonctionne bien. Le TextPath peut-il être lié à plusieurs propriétés? – Igor

Questions connexes