2010-09-15 13 views
5

मुझे WPF TreeView (मूल रूप से मुझे अंतिम उपयोगकर्ता चयन को याद रखने की आवश्यकता है) में खोज सुविधा लागू करने की आवश्यकता है। मैंने सुझाए गए विभिन्न दृष्टिकोणों का प्रयास किया है लेकिन virtualization के रूप में कुछ भी काम नहीं करता है, मेरे TreeView में सक्षम है और बाल नोड्स केवल तभी लोड होते हैं जब अभिभावक नोड का विस्तार होता है (आलसी लोडिंग)।वर्चुअलाइजेशन और लोड ऑन डिमांड के साथ WPF TreeView खोज के लिए नमूना की आवश्यकता है

कोई भी इन तीन चीजों (वर्चुअलाइजेशन, लोड-ऑन-डिमांड और सर्च) को एक साथ लागू नमूने के बारे में जानता है?

उत्तर

3

this एमएसडीएन फोरम थ्रेड पर एक नज़र डालें, एमएस से बॉब इस सुविधा को लागू करने में समस्या बताते हैं।

कारण प्रदर्शन के लिए एक आइटम उत्पन्न करने के लिए VirtualizingStackPanel कोशिश है, लेकिन यह को अपनी परियोजना में पहले से ही एक जनरेटर है का विस्तार किया आइटम ( OnTreeNodeExpanded ईवेंट हैंडलर में) उत्पन्न करते हैं। यह दो जेनरेटर के साथ संघर्ष होता है। VirtualizingStackPanel रन-टाइम पर आवश्यक आइटम उत्पन्न कर सकता है, यह उन्हें BringIndexIntoView विधि में उत्पन्न करता है। StartAt विधि कोड जनरेटर को जांचना है, यदि यह शून्य नहीं है, तो अपवाद फेंक दें " StartAt पर कॉल नहीं कर सकता है जब सामग्री उत्पादन प्रगति में है"। इसलिए, नमूना InitializeComponent() में बाध्य स्रोत पर सभी आइटम पॉप्युलेट करता है, और BringIndexIntoView विधि को आइटम के लिए कंटेनर उत्पन्न करने के लिए विधि दें।

समस्या का पुनरुत्पादन एक नमूना भी उस थ्रेड में संलग्न है।

तो इस समय इस दृष्टिकोण :(

+1

थे कि आप किसी वैकल्पिक हल खोजने के लिए प्रबंधन? मैं एक ही समस्या है के लिए कोई समाधान नहीं हो रहा है –

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