2009-05-28 22 views
6

अधिकतर सूची बॉक्स आपको प्रदर्शित टेक्स्ट के पहले अक्षर टाइप करके उनके भीतर आइटम ढूंढने की अनुमति देते हैं। यदि टाइप किए गए अक्षर एकाधिक आइटम से मेल खाते हैं, तो आप खोज को संकीर्ण करने के लिए अक्षरों को जोड़ना जारी रख सकते हैं।टाइप करके एक WPF ListBox में कोई आइटम कैसे ढूंढ सकता हूं?

मुझे इसे WPF ListBox में करने की आवश्यकता है। हालांकि, आइटम सादे तार नहीं हैं - वे कस्टम ऑब्जेक्ट्स हैं जिन्हें मैं DataTemplate का उपयोग करके प्रस्तुत करता हूं। मैं उम्मीद कर रहा हूं कि एक तरीका है जो मैं स्ट्रिंग मान के लिए पथ प्रदान कर सकता हूं जिसका प्रयोग ListBox आइटमों के इस पाठ कीबोर्ड कीबोर्ड नेविगेशन के लिए किया जाना चाहिए।

यह कैसे संभव है?

उत्तर

17

आप IsTextSearchEnabled को सत्य में और TextSearch.TextPath संलग्न संपत्ति का उपयोग करने का प्रयास कर सकते हैं।

उदा।

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

बहुत बहुत धन्यवाद। यह पूरी तरह से काम किया। बस स्पष्ट होने के लिए, टेक्स्टपैथ मान एक पथ होना चाहिए (पहला भाग एक प्रकार का नाम जैसा दिखता है, लेकिन इस मामले में आइटम में 'कस्टमऑब्जेक्ट' नामक एक संपत्ति होती है और उस ऑब्जेक्ट में 'स्ट्रिंगप्रॉपर्टी' नामक एक संपत्ति होती है।) –

+0

सही है डिफॉल्ट तो यह आपके ऊपर है कि आप इसे अधिक वर्बोज़ देखना चाहते हैं या नहीं –

+0

अच्छी तरह से काम करता है। क्या टेक्स्टपाथ एक से अधिक संपत्तियों तक सीमित हो सकता है? – Igor

संबंधित मुद्दे