2009-05-28 4 views
6

ほとんどのリストボックスでは、表示されているテキストの最初の文字を入力することで、それらの中の項目を見つけることができます。入力された文字が複数の項目と一致する場合は、検索を絞り込むために文字を追加し続けることができます。WPFリストボックスで項目を検索するには、どうすればいいですか?

私はこれをWPF ListBoxで行う必要があります。しかし、項目は普通の文字列ではなく、私がDataTemplateを使って提示するカスタムオブジェクトです。私はListBoxアイテムのこのテキストキーボードナビゲーションに使用されるべき文字列値へのパスを提供する方法があることを期待しています。

これはどのように可能ですか?

答えて

17

IsTextSearchEnabledをtrueに設定し、TextSearch.TextPath添付プロパティを使用してみることができます。

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

ありがとう。これは完全に機能しました。 TextPath値はパスでなければなりません(最初の部分は型名のように見えますが、この場合、項目に 'CustomObject'というプロパティがあり、そのオブジェクトに 'StringProperty'というプロパティがあります)。 –

+0

Trueあなたはそれがより冗長に見えるようにしたいかどうかにかかわらず、デフォルトになるので、 –

+0

うまく動作します。 TextPathを複数のプロパティにバインドできますか? – Igor

関連する問題