| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 | using System;using System.Reflection;using Windows.ApplicationModel;using Windows.ApplicationModel.Activation;using Windows.UI.Xaml;using Windows.UI.Xaml.Controls;using Windows.UI.Xaml.Navigation;namespace Tests.Reactive.Uwp.DeviceRunner{    public sealed partial class App : Application    {        /// <summary>        /// Initializes the singleton application object.  This is the first line of authored code        /// executed, and as such is the logical equivalent of main() or WinMain().        /// </summary>        public App()        {            this.InitializeComponent();            this.Suspending += OnSuspending;        }        /// <summary>        /// Invoked when the application is launched normally by the end user.  Other entry points        /// will be used such as when the application is launched to open a specific file.        /// </summary>        /// <param name="e">Details about the launch request and process.</param>        protected override void OnLaunched(LaunchActivatedEventArgs e)        {#if DEBUG            if (global::System.Diagnostics.Debugger.IsAttached)            {                this.DebugSettings.EnableFrameRateCounter = true;            }#endif            var rootFrame = Window.Current.Content as Frame;            // Do not repeat app initialization when the Window already has content,            // just ensure that the window is active            if (rootFrame == null)            {                // Create a Frame to act as the navigation context and navigate to the first page                rootFrame = new Frame();                rootFrame.NavigationFailed += OnNavigationFailed;                if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)                {                    //TODO: Load state from previously suspended application                }                // Place the frame in the current Window                Window.Current.Content = rootFrame;            }            Microsoft.VisualStudio.TestPlatform.TestExecutor.UnitTestClient.CreateDefaultUI();            // Ensure the current window is active            Window.Current.Activate();            Microsoft.VisualStudio.TestPlatform.TestExecutor.UnitTestClient.Run(e.Arguments);        }        /// <summary>        /// Invoked when Navigation to a certain page fails        /// </summary>        /// <param name="sender">The Frame which failed navigation</param>        /// <param name="e">Details about the navigation failure</param>        void OnNavigationFailed(object sender, NavigationFailedEventArgs e)        {            throw new Exception("Failed to load Page " + e.SourcePageType.FullName);        }        /// <summary>        /// Invoked when application execution is being suspended.  Application state is saved        /// without knowing whether the application will be terminated or resumed with the contents        /// of memory still intact.        /// </summary>        /// <param name="sender">The source of the suspend request.</param>        /// <param name="e">Details about the suspend request.</param>        private void OnSuspending(object sender, SuspendingEventArgs e)        {            var deferral = e.SuspendingOperation.GetDeferral();            //TODO: Save application state and stop any background activity            deferral.Complete();        }    }}
 |