2009-11-25 12 views
7

मेरे पास WPF ListBox है जो बहुत सारे डेटा दिखाता है। मुझे चिकनी स्क्रॉलिंग की आवश्यकता है, इसलिए मैंने ListBox.ScrollViewer.CanContentScroll को गलत पर सेट किया है जो वर्चुअलाइजेशन को अक्षम करता है। अब जब मैं टैब खोलता हूं जहां यह ListBox रखा गया है, तो मुझे कुछ सेकंड के लिए कुछ भी नहीं दिखाई देता है क्योंकि ListBox आइटम/प्रतिपादन लोड/बना रहा है। मेरे पास एक नियंत्रण भी है जो कुछ एनीमेशन दिखाता है जो इंगित करता है कि एप्लिकेशन चल रहा है और उपयोगकर्ता को थोड़ा इंतजार करना चाहिए।नियंत्रण के दौरान कुछ एनीमेशन कैसे दिखाना है?

ListBox पर यह नियंत्रण कैसे दिखाया जा सकता है?

+0

शायद अधिक जानकारी उपयोगी होगी? जैसी चीजें ... आप किस भाषा और ढांचे में काम कर रहे हैं ... दुर्भाग्यवश "ListBox" जैसे शब्दों का उपयोग कई स्थानों पर किया जाता है। – Paul

+0

इसे WPF के साथ टैग किया गया है। – GraemeF

+0

सूची में आपके पास कितने आइटम हैं? –

उत्तर

0

Clean shutdown in Silverlight and WPF applications

चेक हालांकि यह अलग परिदृश्य है शायद यह आपकी मदद कर सकता है कि कैसे इस आवेदन के लेखक कोड के माध्यम से किया था।

2

अपनी सूची बॉक्स के स्थान पर एक ग्रिड जोड़ें और इसके अंदर अपनी सूची बॉक्स और अपने एनीमेशन नियंत्रण रखें। इस तरह वे एक ही स्थान पर रखा जाता है। एनीमेशन नियंत्रण ज़ेड-ऑर्डर के शीर्ष पर होना चाहिए और प्रदर्शित किया जाना चाहिए। एक बार जब सूची बॉक्स लोड हो गया है तो आप एनीमेशन नियंत्रण को छुपाएंगे और इसलिए सूची बॉक्स इसके बजाए दिखाएगा। किसी भी समय आपको एक और लंबा ऑपरेशन करने की आवश्यकता होती है, फिर भी आप एनीमेशन नियंत्रण को फिर से दिखने के लिए सेट करते हैं।

+2

यह निर्धारित करने के लिए कि सूचीबॉक्स पहले से ही प्रस्तुत किया गया है? और प्रतिपादन उसी थ्रेड में किया जाता है जो "एनिमेटेड" एनीमेशन होता है, इसलिए कोई प्रभाव नहीं पड़ेगा। या मैं सही नहीं हूँ? मैं पहले से ही इस तकनीक का उपयोग कर रहा हूं, लेकिन जब मुझे यह दिखाने की ज़रूरत है कि कुछ लंबी पृष्ठभूमि (जो किसी अन्य धागे में काम करती है) ऑपरेशन (गैर-गुई) प्रगति पर है। – levanovd

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