/ / कैलीबर्न माइक्रो WinRT राज्य हैंडलिंग - विंडोज़ -8, विंडोज़-रनटाइम, कैलिबर्नमाइक्रो

कैलिब्रर्न माइक्रो विनरेट स्टेट हैंडलिंग - विंडोज़ -8, विंडोज-रनटाइम, कैलिबर्न.मिक्रो

क्या सस्पेंड और रिज्यूम के लिए कोई सपोर्ट हैकैबर्न माइक्रो के WinRT संस्करण में उपलब्ध है? यदि हाँ उत्तर है, तो मैं इस आर्किटेक्चर के साथ सस्पेंड / रिज्यूम कार्यक्षमता कैसे लागू कर सकता हूं। मुझे विश्वास नहीं है कि कैलीबर्न माइक्रो जैसी पूर्ण विकसित वास्तुकला "टी सपोर्ट स्टेट हैंडलिंग है।

इसके अलावा, मैं कैसे निष्क्रिय कर सकते हैं नेविगेशन निष्क्रिय करते समय, विंडोज़ फोन के नेविगेशन व्यवहार की तरह कुछ।

कृपया किसी ने भी इस मुद्दे को हल करने में मेरी मदद की

उत्तर:

जवाब के लिए 2 № 1

इस पर दस्तावेज़ीकरण के कई पृष्ठ हैं - यह तब से कुछ समय पहले का है जब मैंने "caliburn.micro के साथ काम किया है, इसलिए मुझे यकीन नहीं है कि ये पूरी तरह से आपके प्रश्न का उत्तर देंगे, लेकिन यहाँ आप जाते हैं:

स्क्रीन, कंडक्टर और रचना

इस का सार है "इनहेरिट फ्रॉम स्क्रीन"। यह आपको देगा OnActivate() तथा OnDeactivate() दूसरों के बीच, ओवरराइड करने के तरीके। आप अपने आवेदन को निलंबित करने और फिर से शुरू करने के लिए इनका उपयोग कर सकते हैं।

इसके अलावा, caliburn.micro में WP7 के लिए "टॉम्बस्टोनिंग" समर्थन है StorageHandlers - शायद इसी वर्ग WinRT के लिए भी उपलब्ध हैं। यहाँ उन पर कुछ प्रलेखन है:

विंडोज फोन 7 v1.1 के साथ काम करना


जवाब के लिए 0 № 2

जैसा कि अन्य उत्तर में बताया गया है,WinRT में "tombstone" को संभालने के लिए OnActivate () और OnDeactivate () आदर्श समाधान नहीं है। ये ओवरराइड सिर्फ एक बार फायर करेंगे जब व्यू एक्टिव हो जाएगा या नष्ट हो जाएगा, हर बार व्यू फोकस से बाहर नहीं जाता और वापस आ जाता है।

मैं अभी तक Caliburn.Micro WinRT में सस्पेंड / रिज्यूम सुविधा के लिए नहीं आया हूं।

लेकिन इसके बजाय .NET इन्फ्रास्ट्रक्चर के साथ इसे आसानी से प्राप्त किया जा सकता है। इसका पीछा करो MSDN पूर्ण विवरण के लिए लिंक

संक्षेप में,

नेवीगेशन को संभालने के लिए और ViewModels में घटना के नीचे दिए गए ऐप (कम से कम और फिर से शुरू) का उपयोग करें:

Window.Current.VisibilityChanged += OnVisibilityChanged;

सस्पेंड / रिज्यूम को संभालने के लिए ऑन क्लास और ऑनस्कूमिंग को ऐप क्लास में ओवरराइड करें।