में लिस्टबॉक्स, वर्चुअलाइजिंगस्टैक पैनेल, और चिकना स्क्रॉलिंग मेरे पास ListBox
है जिसमें Image
समेत टेम्पलेटेड डीबी रिकॉर्ड्स की कई पंक्तियां हो सकती हैं, जो ObservableCollection<MyItem>
से जुड़ी हैं। कभी-कभी संग्रह हजारों वस्तुओं को पकड़ सकता है।डब्लूपीएफ
प्रदर्शन बहुत अच्छा है, लेकिन स्क्रॉलिंग डिफ़ॉल्ट अजीब व्यवहार है। मैं इसे चिकनी स्क्रॉलिंग करना चाहता हूं, इसलिए मैंने ScrollViewer.CanContentScroll
अनचेक किया।
अब मेरे पास चिकनी स्क्रॉलिंग है, लेकिन प्रदर्शन भयानक है: डेटा को एक अलग थ्रेड में पुनर्प्राप्त किया जाता है, और धागा जल्दी खत्म हो जाता है, लेकिन ListBox
में परिणाम दिखाने के लिए 10-20 सेकंड लगते हैं। मुझे लगता है कि ऐसा इसलिए है क्योंकि ScrollViewer.CanContentScroll
अनचेकिंग VirtualizingStackPanel
को नियमित StackPanel
पर बदलता है और इसलिए यह परिणाम प्रदर्शित करने से पहले संपूर्ण संग्रह लोड कर रहा है।
तो मेरा सवाल यह है: मैं VirtualizingStackPanel
व्यवहार और प्रदर्शन को बलि किए बिना चिकनी स्क्रॉलिंग को कैसे बनाए रखूं?
http://stackoverflow.com/questions/1977929/wpf-listbox-with-a-listbox-ui-virtualization-and-scrolling/9875475 Virtua lizingPanel.ScrollUnit = "पिक्सेल" – Guillaume
यदि आप थोड़ा हैक का उपयोग करने के लिए तैयार हैं तो आप दोनों चिकनी स्क्रॉलिंग और वर्चुअलाइजेशन कर सकते हैं। विवरण के लिए एक ही प्रश्न के लिए [यह उत्तर] देखें (http://stackoverflow.com/questions/1977929/wpf-listbox-with-a-listbox-ui-virtualization-and-scrolling/9875475#9875475)। –