मेरा प्रोटोटाइप "दस्तावेज़" प्रदर्शित करता है जिसमें "पृष्ठ" होते हैं जो थंबनेल छवियों द्वारा दर्शाए जाते हैं। प्रत्येक दस्तावेज़ में पृष्ठों की संख्या हो सकती है। उदाहरण के लिए, प्रत्येक 5 पृष्ठों वाले 1000 दस्तावेज़, या 1000 पृष्ठों के साथ 5 दस्तावेज़ प्रत्येक, या कहीं भी बीच में हो सकता है। दस्तावेज़ों में अन्य दस्तावेज नहीं हैं। मेरे xaml मार्कअप में मेरे पास ListBox
है, जिसका ItemsTemplate
एक आंतरिक इटम्स टेम्पलेट का संदर्भ देता है जिसमें ListBox
भी है। मैं चयनित वस्तुओं के 2 स्तर चाहता हूं ताकि मैं दस्तावेजों या पृष्ठों पर विभिन्न परिचालन निष्पादित कर सकूं (हटाएं, विलय करें, नए स्थान पर जाएं, आदि)। आंतरिक इटम्स टेम्पलेट ListBox
का उपयोग ItemsPanelTemplate
के रूप में करता है।एक सूची बॉक्स के साथ WPF ListBox - UI वर्चुअलाइजेशन और स्क्रॉलिंग
परिदृश्य में जहाँ मैं कुछ पृष्ठों प्रत्येक (जैसे कि, 5 पृष्ठों वाले 10000 दस्तावेज) के साथ दस्तावेजों की एक बड़ी संख्या है के लिए, स्क्रॉल VirtualizingStackPanel
द्वारा यूआई वर्चुअलाइजेशन के लिए बहुत धन्यवाद काम करता है। हालांकि, अगर मेरे पास बड़ी संख्या में पृष्ठ हैं तो मुझे समस्याएं हैं। 1000 पृष्ठों के साथ एक दस्तावेज़ केवल एक समय में लगभग 50 प्रदर्शित करेगा (जो भी स्क्रीन पर फिट बैठता है), और जब मैं स्क्रॉल करता हूं, बाहरी ListBox
अगले दस्तावेज़ पर जाता है, 950 पृष्ठों को छोड़कर या जो दिखाई नहीं दे रहा था। इसके साथ, VirtualzingWrapPanel
नहीं है इसलिए ऐप मेमोरी वास्तव में बढ़ जाती है।
मुझे आश्चर्य है कि मैं इस बारे में सही तरीके से जा रहा हूं, खासकर क्योंकि यह समझाने में मुश्किल है! मैं यूआई वर्चुअलाइजेशन का उपयोग करके 10000 दस्तावेज़ों को प्रदर्शित करने में सक्षम होना चाहता हूं (केवल स्क्रीन पर जो कुछ भी फिट बैठता है), UI वर्चुअलाइजेशन का उपयोग करके, और चिकनी स्क्रॉलिंग भी।
मैं यह सुनिश्चित कैसे कर सकता हूं कि अगले दस्तावेज़ को प्रदर्शित करने से पहले दस्तावेज़ में स्क्रॉलिंग सभी पृष्ठों के माध्यम से चलता है, और फिर भी UI वर्चुअलाइजेशन रखें? स्क्रॉलबार केवल अगले दस्तावेज़ पर जाने लगता है। एक ListBox
के भीतर एक ListBox
का उपयोग करने का मेरे वर्तमान विधि के साथ -
यह "दस्तावेज़" और "पृष्ठ" का प्रतिनिधित्व करने के तार्किक प्रतीत होता है?
मैं आपके विचारों की बहुत सराहना करता हूं। धन्यवाद।
यह दृष्टिकोण वास्तव में यूआई वर्चुअलाइजेशन तक मेरे लिए काम करता है। अब मुझे सूची बॉक्स (इस मामले में पेज या दस्तावेज़) चुनने के लिए सूची जैसे सूची बॉक्स प्राप्त करने की आवश्यकता है। मैं ListBox के समान एकाधिक और विस्तारित चयन मोड कैसे प्राप्त कर सकता हूं? –
इसके अलावा, मैं आइटम्स कंट्रोल के भीतर आइटमपैनल टेम्पलेट को एक रैपपैनल में सेट कर रहा हूं, जो ऐप का आकार बदलने पर लपेटता प्रतीत नहीं होता है - ऐसा लगता है कि यह एक स्टैकपैनल की तरह व्यवहार करता है। कुल मिलाकर, मुझे लगता है कि रे द्वारा उपरोक्त उत्तर मुझे सही दिशा में ले जाता है। –
मुझे बहुत खुशी है कि मैंने इस पोस्ट में ठोकर खाई, उसने मुझे अपने सभी बालों को खींच लिया। – Bijington