2011-11-14 5 views
6

मेरा ऐप पूरी तरह से विषय जागरूक है। जब मेरा ऐप निष्क्रिय हो जाता है और उपयोगकर्ता अंधेरे से प्रकाश में थीम बदलता है (मान लें) और मेरे आवेदन पर लौटता है, तो थीम रीफ्रेश नहीं होती है। भले ही फोन विषय हल्का है, फिर भी मेरा ऐप अंधेरा बना हुआ है।WP7 में थीम कब बदलती है इसका पता लगाने के लिए कैसे?

मैंने कुछ प्रयास किए लेकिन वे एक ही मूल्य की रिपोर्ट करते हैं। मैंने isDarkThemeSelected नामक एक चर घोषित किया है, निष्क्रिय घटना में मूल्य बचाया है, विषय बदल दिया है, और मेरे आवेदन में वापस प्रवेश किया है। लेकिन जब सक्रिय घटना उठाई जाती है तो वैरिएबल वैल्यू अभी भी वही रहता है।

क्या आपके पास कोई समाधान है?

+2

क्या आप एप्लिकेशन से नेविगेट करते समय अपना डेटा बैक अप ले रहे हैं, यदि ऐसा है ..... क्या यह थीम का बैक अप ले रहा है, जो इस तरह की समस्या का कारण बन सकता है। – Keeano

उत्तर

6

अपने मुख्य पृष्ठ निर्माता के लिए इस कोड जोड़ें:

var v = (Visibility)Resources["PhoneLightThemeVisibility"]; 
Debug.WriteLine("Using " + (v == Visibility.Visible ? "light" : "dark") + " theme"); 

(यह वर्तमान विषय का पता लगाता है और आउटपुट विंडो जो एक यह है करने के लिए लिखता है।)

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

संपादित करें: ऐसा लगता है कि यह हमेशा Mango bug के कारण काम नहीं करता है। जब थीम विषय बदलने के बाद ऐप में पर नेविगेट करता है तो विषय वही रहता है। यह तब होता है जब उपयोगकर्ता नई थीम लागू होने वाली ऐप सूची से ऐप पुनरारंभ करता है।

+1

आपके उत्तर के लिए धन्यवाद, मैंने एक ही कोड की कोशिश की है, यह उचित विषय देता है लेकिन जब मेरा ऐप निष्क्रिय हो जाता है और उपयोगकर्ता थीम बदलता है और मेरे एप्लिकेशन को सक्रिय करता है, तो उस समय यह गलत थीम जानकारी देता है। – Santhu

+0

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

+0

@ संतोष आप सही हैं, मैंने अपना जवाब अपडेट किया है। यह एक बग है। –

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

  • कोई संबंधित समस्या नहीं^_^