예제 #1
0
        /// <summary>
        /// Invoked when the application is about to start when it's launched normally by end user.
        /// Override this method to implement state restoration and other application-level initialization.
        /// </summary>
        /// <param name="args"></param>
        protected override async void OnApplicationStarting(LaunchActivatedEventArgs args)
        {
            // By default, RootFrame will automatically instantiate a new Frame object when it's accessed for the first time
            // To specify a custom frame, please override the RootFrame property.

            // Obtains the registered application state service
            IApplicationStateService stateService = this.GetService <IApplicationStateService>();

            // Associate the frame with an ApplicationStateService key
            stateService.RegisterFrame(this.RootFrame, "AppFrame");

            if (args.PreviousExecutionState == ApplicationExecutionState.Terminated)
            {
                // Restore the saved session state only when appropriate
                try
                {
                    await stateService.RestoreAsync();
                }
                catch (ApplicationStateServiceException)
                {
                    //Something went wrong restoring state.
                    //Assume there is no state and continue
                }
            }
        }