2015-08-26 51 views
0

MSDN站點只有適用於Windows 8/8.l Metro/Pseudo UWP應用程序的舊信息。在此應用程序中,Microsoft提供了一個複雜的暫停幫助程序類,它在Windows 10 UWP空白應用程序模板中不可用。那麼如何處理Windows 10 UWP應用程序中的暫停。我還沒有找到任何有關如何處理這些應用程序中的暫停的信息。如何在Visual C#或C++中正確處理Windows 10應用程序的暫停?

有誰知道我該如何處理暫停?

+0

你是什麼'handle'指的是代碼?您是否希望通知您的應用暫停/喚醒或您的應用啓動暫停/喚醒? – user3528438

+0

不,我想保存應用程序狀態(填充表單,文本,當前頁面等)。據我所知,在用戶切換回應用程序後,我必須保存這個狀態才能恢復這種狀態,因爲系統有時會將應用程序從內存中釋放出來,爲其他應用程序或uwp應用程序提供更多內存。 – Sebi2020

+0

如果你直接從win8.1項目中將暫停類複製到win10項目,它會好嗎? –

回答

0

您正在尋找的示例在Visual Studio中給出的默認模板中不存在。有一個項目可以創建具有此功能的模板。你可以找到這些模板...

https://github.com/Windows-XAML/Template10

下面是從模板10掛起和恢復

Resuming += (s, e) => { OnResuming(s, e); }; 
      Suspending += async (s, e) => 
      { 
       // one, global deferral 
       var deferral = e.SuspendingOperation.GetDeferral(); 
       try 
       { 
        foreach (var service in WindowWrapper.ActiveWrappers.SelectMany(x => x.NavigationServices)) 
        { 
         // date the cache (which marks the date/time it was suspended) 
         service.FrameFacade.SetFrameState(CacheDateKey, DateTime.Now.ToString()); 
         // call view model suspend (OnNavigatedfrom) 
         await service.SuspendingAsync(); 
        } 
        // call system-level suspend 
        await OnSuspendingAsync(s, e); 
       } 
       catch { } 
       finally { deferral.Complete(); } 
      }; 
相關問題