2015-07-27 7 views
8

विंडोज 8.1 सार्वभौमिक ऐप्स में, निलंबन/फिर से शुरू करने के तरीके को एपीएम टेम्पलेट में NavigationHelper.cs उत्तर SuspensionManager.cs कक्षाओं का उपयोग करके संभाला गया था। ये कक्षाएं विंडोज 10 यूडब्ल्यूपी ऐप्स में नहीं लगती हैं। क्या कोई तरीका है जिसके द्वारा हम निलंबित/फिर से शुरू करने वाले राज्यों को संभाल सकते हैं?विंडोज़ में निलंबन, फिर से शुरू करने और सक्रियण को संभालना 10 यूडब्ल्यूपी

उत्तर

4

समुदाय द्वारा विकसित एक दिलचस्प ढांचा है (लेकिन ज्यादातर मुझे लगता है कि Jerry Nixon, Andy Wigley इत्यादि) टेम्पलेट 10 कहा जाता है। टेम्पलेट 10 में Bootstrapper क्लास OnSuspending और OnResuming वर्चुअल विधियों के साथ है जो आप ओवरराइड कर सकते हैं। मुझे यकीन नहीं है कि अभी तक टेम्पलेट 10 के साथ निलंबन/फिर से शुरू करने का एक सटीक उदाहरण है, लेकिन यह विचार App.xaml.cs inherit from this Bootstrapper वर्ग बनाने के लिए प्रतीत होता है ताकि आप आसानी से बताए गए तरीकों को ओवरराइड कर सकें।

sealed partial class App : Common.BootStrapper 
{ 
    public App() 
    { 
     InitializeComponent(); 
     this.SplashFactory = (e) => null; 
    } 

    public override Task OnStartAsync(StartKind startKind, IActivatedEventArgs args) 
    { 
     // start the user experience 
     NavigationService.Navigate(typeof(Views.MainPage), "123"); 
     return Task.FromResult<object>(null); 
    } 

    public override Task OnSuspendingAsync(object s, SuspendingEventArgs e) 
    { 
     // handle suspending 
    } 

    public override void OnResuming(object s, object e) 
    { 
     // handle resuming 
    } 
} 
2

उपरोक्त समाधान केवल टेम्पलेट 10 स्थापित करने वाले लोगों के लिए काम करेगा। सामान्य समाधान है,

, App.xaml.cs

के निर्माता
 this.LeavingBackground += App_LeavingBackground; 

     this.Resuming += App_Resuming; 

यह इस

public App() 
    { 
     this.InitializeComponent(); 
     this.Suspending += OnSuspending; 
     this.LeavingBackground += App_LeavingBackground; 

     this.Resuming += App_Resuming; 
    } 

इन विधियों हैं की तरह दिखाई देगा में इन पंक्तियों के पेस्ट, हालांकि आप भी दबा सकते हैं टैब और वे स्वत: उत्पन्न करेंगे।

private void App_LeavingBackground(object sender, LeavingBackgroundEventArgs e) 
    { 

    } 

    private void App_Resuming(object sender, object e) 
    { 

    } 

विधियों को छोड़कर बैकग्राउंड और यहां उल्लेख नहीं किया गया है EnteredBackground को नए में जोड़ा गया है।

इन तरीकों से पहले हम ui को बचाने और पुनर्स्थापित करने के लिए फिर से शुरू करने और निलंबित करने का उपयोग करेंगे, लेकिन अब यह काम करने के लिए अनुशंसित जगह यहां है। ऐप फिर से शुरू होने से पहले काम करने के लिए ये आखिरी जगह भी हैं। तो इन विधियों पर काम छोटा ui या अन्य सामान जैसे रीमेकिंग मान होना चाहिए जो लंबे समय तक आयोजित विधि के रूप में बाँध रहे हैं, फिर से शुरू होने पर ऐप स्टार्टअप समय को प्रभावित करेंगे।

स्रोत Windows dev material, Windoes dev material 2

धन्यवाद, और एक अच्छा दिन है।

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