2012-10-12 14 views
8

SCENARIO:WP7.1 में सूची बॉक्स चयनित इंडेक्स अपेक्षा के अनुसार काम नहीं कर रहा है। शीर्ष पर एक चयनित व्यक्ति कैसे प्रदर्शित किया जा सकता है?

  • विंडोज फोन 7 में, मैं एक सूची बॉक्स का उपयोग कर रहा हूँ।
  • मान लें कि 200 आइटम हैं।
  • अब मैं सूची
  • मैं सूची लोड हो रहा है के बाद सूची के शीर्ष पर 150 वीं आइटम लोड और चयन (और शो) करना चाहते हैं की 150 आइटम का चयन करें।

समस्या:

  • मैं HookScrollViewer() के रूप में इस पृष्ठ पर उल्लिखित उपयोग कर रहा हूँ (ListBox offset in WP7)
  • पहली बार आइटम सूची सही वस्तु को नहीं दिखाता (माना भरी हुई है यह 148 वां आइटम दिखाता है)।
  • मैं उस पृष्ठ से बाहर निकलता हूं और फिर आइटम 150 वें स्थान पर क्लिक करता हूं
  • अब सूची अनुक्रमणिका सही है और यह शीर्ष पर 150 वां आइटम दिखाती है।

प्रश्न:

  • क्या मैं सही हूँ समाधान का उपयोग कर?
  • मैं क्या गलत कर रहा हूं, मैंने समाधान की पहचान करने की कोशिश की लेकिन असफल रहा!

संकेत: http://tinyurl.com/9298cdx

  • ओपन किसी भी अध्याय और बुकमार्क कुछ अध्याय के बीच में (लंबे समय से दबाकर):

    • आप एक विंडोज फोन है, तो एप्लिकेशन को डाउनलोड करें।
    • एप्लिकेशन बंद करें, और एप्लिकेशन को फिर से खोलें।
    • इसे खोलने के लिए बुकमार्क पर क्लिक करें।
    • पहली बार यह सही स्थान पर नहीं जाएगा।
    • अब ऐप बंद न करें, बस वापस बटन दबाएं और फिर बुकमार्क पर क्लिक करें।
    • इस बार स्थान सही है!
    • सवाल यह है कि, पहली बार क्या गलत है?

    पढ़ना पृष्ठ के कोड:

    धन्यवाद बहुत बहुत!

  • +0

    मैंने एक्सएएमएल की जांच की, और कुछ भी गलत नहीं है। मैंने एनीमेशन हटा दिया, यह या तो काम नहीं किया। – Shahaab

    +0

    मैंने स्क्रॉलव्यूअर और लिस्टबॉक्स दोनों के लिए 'अपडेटलेआउट() 'जोड़ा, इससे मदद नहीं मिली। – Shahaab

    +0

    मुद्दा यह है कि यह ठीक काम कर रहा है, दूसरी बार यह काम करता है जैसा कि यह करना चाहिए, यह पहली बार क्यों काम नहीं कर रहा है? क्या कोई ऐसी चीज है जिसे मैं याद कर रहा हूं? – Shahaab

    उत्तर

    1

    उपयोग करने के लिए कैसे संघर्ष करने के बाद समझ जाएगा को देखो कोशिश कर सकते हैं, मैं वास्तविक समस्या और उसके समाधान मिल गया है।

    वास्तविक समस्या:

    • मैं बाहरी फोंट, उन जो डिफ़ॉल्ट रूप से WP में शामिल हैं के अलावा अन्य उपयोग कर रहा हूँ।
    • बाहरी फ़ॉन्ट्स को स्मृति में लोड होने के लिए कुछ समय चाहिए और फिर टेक्स्ट प्रदर्शित होता है।
    • इस बीच सूची पहले ही लोड हो चुकी है, जबकि फ़ॉन्ट लोड किया जा रहा है।
    • अंततः पाठ प्रदर्शित होता है, और (विस्तार के कारण हो सकता है), चयनित सूचकांक स्थान नीचे ले जाया गया है।
    • ऐप बंद किए बिना, फ़ॉन्ट मेमोरी में रहता है, और अगली बार इसमें लंबा समय नहीं लगता है, और पॉइंटर आईडी सही तरीके से प्रदर्शित होती है।

    मेरे समाधान:

    • जबकि मुख्य पृष्ठ लोड किया जा रहा है मैं (बाहरी) फ़ॉन्ट लोड। इसमें नगण्य समय लगता है और इसलिए, ऐप की दक्षता को प्रभावित नहीं करता है (लोडिंग समय के मामले में)

    मेरी इच्छा है कि कोई भी वास्तुकार बेहतर तरीके से समझा सकता है कि क्या हो रहा है, या दूसरे में शब्द, मुझे "वास्तविक समस्या" की तकनीकी पृष्ठभूमि जानने में दिलचस्पी है।

    उन सभी लोगों के लिए बहुत बहुत धन्यवाद जिन्होंने सुझाव दिए।

    0

    मुझे लगता है कि अपने डेटा को अपडेट नहीं है.आप INotifyPropertyChanged का उपयोग करने के लिए, उदाहरण के आप