2017-11-23 47 views
6

this question और this question के बाद, अब मैं नीचे चित्र की तरह श्रेणीबद्ध डेटा के साथ एक TreeView है:वर्चुअलाइज्ड TreeView अस्थिर व्यवहार स्क्रॉल करते समय

enter image description here

डेटा की बड़ी मात्रा की वजह से

, मैं Virtualization संपत्ति कर दिया है TreeView पर (VirtualizingPanel.IsVirtualizing="True")।

अब समस्या है: पेड़ को स्क्रॉल करना बहुत अस्थिर है।

  • बस गायब/उतार दिया स्क्रॉल करते हैं, आइटम मिल: मैं बताई नहीं जा सकती व्यवहार की व्याख्या करने के लिए प्रयास करें। WPF Inspector के साथ, मैं वास्तव में देखता हूं, कि वे लगातार अनलोड हो जाते हैं और फिर लोड होते हैं।
  • स्तर 3 के आइटमों के माध्यम से स्क्रॉल करते समय, पेड़ उन वस्तुओं को लोड नहीं करता है जो अभी भी लोड नहीं होते हैं (अपेक्षित के रूप में), लेकिन अगले स्तर 2 आइटम दृश्यमान स्तर 3 वस्तुओं के शीर्ष पर कूदता है।

नोट्स:

  • स्क्रॉल, सामान्य काम करता है जब सभी Level2 आइटम ढह रहे हैं।
  • वर्चुअलाइजेशन बंद करने से स्क्रॉल समस्या का हल (लेकिन निश्चित रूप से मैं इस मामले में लोड हो रहा है समस्या है)
  • मैं here पढ़ लिया है, कि इस बग नेट 4.5.2 में तय हो गई है। मैंने कोशिश की। नेट 4.7.1। व्यवहार वही बना रहा।

क्या कोई तरीका है कि मैं इस व्यवहार से बच सकता हूं?

+0

मुझे यकीन है कि मैं समझता हूँ कि क्या लक्षण है नहीं कर रहा हूँ। क्या आप कह रहे हैं कि एक स्तर 2 आइटम स्तर 3 वस्तुओं पर अतिसंवेदनशील है - एक ही स्थान पर खींचा गया है? –

+0

ऐसा लगता है जैसे आपने उद्धृत 4.5.2 बग की तुलना में समान लक्षणों के साथ एक बग खोजा है, लेकिन एक अलग मूल कारण है। कृपया http://connect.microsoft.com पर एक बग खोलें और एक रेपो संलग्न करें (या मेरे साथ एक रेपो साझा करें)। व्यवहार शायद आपके TreeView और इसकी वस्तुओं के लिए टेम्पलेट्स और शैलियों पर निर्भर करता है, जिन्हें आपने यहां नहीं दिखाया है। हमने हाल ही में एक समस्या के सेट (4.7.2) के लिए तय किया है जब आप TreeViewItem के विस्तार/पतन को एनिमेट करते हैं, लेकिन लक्षण अलग थे - कोई अतिरंजित प्रतिपादन नहीं था। –

उत्तर

0

क्या आपने वर्चुअलाइजिंग पैनेल पर पिक्सेल-स्क्रॉलिंग पर स्क्रॉलUnit सेट करने का प्रयास किया है? यह मैं listviews पर एक अजीब scolling व्यवहार के साथ मदद की जब IsVirtualizing और IsVirtualizingWhenGrouping सही पर सेट किया जाता है:

VirtualizingPanel.IsVirtualizing='True' 
VirtualizingPanel.IsVirtualizingWhenGrouping='True' 
VirtualizingPanel.ScrollUnit='Pixel' 
+0

हां मैंने कोशिश की है, लेकिन यह समस्या की मदद नहीं करता है। यह वास्तव में पहले से ही 'पिक्सेल' पर सेट है। समस्या वर्चुअलाइजेशन के साथ ही है। – Yvonnila

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