2015-07-27 21 views

Odpowiedz

4

Istnieje interesująca struktura opracowana przez społeczność (ale najczęściej myślę, że Jerry Nixon, Andy Wigley itp.) O nazwie Template10. Template10 ma klasę Bootstrapper z metodami wirtualnymi OnSuspending i OnResuming, które można przesłonić. Nie jestem pewien, czy istnieje dokładny przykład zawieszenia/wznowienia jeszcze z Template10, ale wydaje się, że jest to klasa App.xaml.cs inherit from this Bootstrapper, dzięki czemu można łatwo zastąpić metody, o których wspomniałem.

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

Powyższe rozwiązanie działa tylko dla osób, które instalują Template10. Rozwiązanie generyczny jest

wklej te wiersze w konstruktorze App.xaml.cs

 this.LeavingBackground += App_LeavingBackground; 

     this.Resuming += App_Resuming; 

będzie to wyglądać tak

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

     this.Resuming += App_Resuming; 
    } 

Są to metody, chociaż można nacisnąć TAB i zostaną automatycznie wygenerowane.

private void App_LeavingBackground(object sender, LeavingBackgroundEventArgs e) 
    { 

    } 

    private void App_Resuming(object sender, object e) 
    { 

    } 

Metody LeavingBackground i tutaj nie wymienione EnteredBackground są nowo dodane do uwp.

Przed tymi metodami używalibyśmy wznowienia i zawieszenia, aby zapisać i przywrócić ui, ale teraz zalecane miejsce do wykonania tej pracy jest tutaj. Są to również ostatnie miejsca do wykonania pracy przed wznowieniem aplikacji. Tak więc praca nad tymi metodami powinna być niewielkim ui lub innymi rzeczami, takimi jak przekształcanie wartości, które są nieaktualne, ponieważ długo trzymana metoda ma wpływ na czas uruchamiania aplikacji podczas wznawiania.

Źródło Windows dev material, Windoes dev material 2

Dzięki, i mieć dobry dzień.