2010-09-16 15 views
27

क्यों सेट करें क्योंकि अधिकांश WPF डेवलपर्स जानते हैं, ScrollViewer.CanContentScrollfalse पर वर्चुअलाइज़ेशन अक्षम कर देगा; लेकिन मैं जानना चाहता हूं कि यह कैसे काम करता है, क्योंकि मैं ScrollViewer.CanContentScroll को false पर सेट करते समय वर्चुअलाइजेशन को सक्षम करने का प्रयास करता हूं।ScrollViewer.CanContentScroll को गलत अक्षम वर्चुअलाइजेशन

उत्तर

44

"ScrollViewer वर्तमान में दो स्क्रॉल मोड की अनुमति देता है:। चिकनी पिक्सेल द्वारा पिक्सेल स्क्रॉल (CanContentScroll = false) या असतत आइटम-दर-आइटम स्क्रॉल (CanContentScroll = true) वर्तमान में WPF यूआई वर्चुअलाइजेशन केवल जब आइटम द्वारा स्क्रॉल का समर्थन करता है पिक्सेल-आधारित स्क्रॉलिंग को "भौतिक स्क्रॉलिंग" भी कहा जाता है और आइटम-आधारित स्क्रॉलिंग को "तार्किक स्क्रॉलिंग" भी कहा जाता है। "

वर्चुअलाइजेशन तो यह पिक्सेल आधारित करने के लिए स्क्रॉल तर्क इकाइयों लेकिन केवल पिक्सल के कोई और अधिक अवधारणा उनके है तार्किक इकाई (आइटम) ध्यान में रखते हुए वर्तमान का ट्रैक रख सकते ... ScrollViewer स्थापना मद आधारित स्क्रॉल की आवश्यकता है !! !

5

UI Virtualization

मैं अक्सर अगर वहाँ इस सीमा के आसपास काम करने के लिए एक तरीका है के लिए कहा रहा हूँ। खैर, कुछ भी संभव है, लेकिन आसान कामकाज नहीं है। UI वर्चुअलाइजेशन के साथ पिक्सेल-आधारित स्क्रॉलिंग को गठबंधन करने के लिए आपको वर्तमान वर्चुअलाइजेशन तर्क के महत्वपूर्ण हिस्सों को फिर से कार्यान्वित करना होगा। आपको इसके साथ आने वाली कुछ रोचक समस्याओं को भी हल करना होगा। उदाहरण के लिए, जब आइटम कंटेनरों की अलग ऊंचाई होती है तो आप अंगूठे के आकार की गणना कैसे करते हैं? (याद रखें कि आप वर्चुअलाइज्ड कंटेनर की ऊंचाई नहीं जानते हैं - आप केवल उन कंटेनरों की ऊंचाई को जानते हैं जो वर्तमान में प्रदर्शित होते हैं।) आप औसत ऊंचाई पर आधारित औसत मान सकते हैं, या आप सूची के साथ एक सूची रख सकते हैं वस्तु ऊंचाइयों के रूप में वस्तुओं को स्मृति में लाया जाता है (जो अंगूठे के आकार की सटीकता में वृद्धि करेगा क्योंकि उपयोगकर्ता नियंत्रण के साथ बातचीत करता है)। आप यह भी तय कर सकते हैं कि पिक्सेल-आधारित स्क्रॉलिंग केवल उन्हीं वस्तुओं के साथ काम करती है जो समान ऊंचाई के हैं - इससे समाधान को सरल बनाया जाएगा। तो, हाँ, आप इस सीमा के आसपास काम करने के लिए एक समाधान के साथ आ सकते हैं, लेकिन यह मामूली नहीं है।

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