示例#1
0
        /// <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 (System.Diagnostics.Debugger.IsAttached)
            {
                this.DebugSettings.EnableFrameRateCounter = true;
            }
#endif
            Frame 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;
            }

            if (e.PrelaunchActivated == false)
            {
                if (rootFrame.Content == null)
                {
                    if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.UI.ViewManagement.StatusBar"))
                    {
                        var statusBar = Windows.UI.ViewManagement.StatusBar.GetForCurrentView();
                        statusBar.BackgroundColor   = (Color)this.Resources["SystemAccentColor"];
                        statusBar.BackgroundOpacity = 1;
                        statusBar.ForegroundColor   = Colors.White;
                        Windows.UI.ViewManagement.StatusBarProgressIndicator indicator = Windows.UI.ViewManagement.StatusBar.GetForCurrentView().ProgressIndicator;

                        // show the progress indicator and set it's value to 0.
                        indicator.ShowAsync();
                        indicator.ProgressValue = 0;

                        // the space here is the required hack,
                        // as it will hide all other controls to make room for the progress text,
                        // which is invisible here because it's only a space
                        indicator.Text = "Tranvía de Murcia Un.";
                    }

                    // When the navigation stack isn't restored navigate to the first page,
                    // configuring the new page by passing required information as a navigation
                    // parameter
                    rootFrame.Navigate(typeof(MainPage), e.Arguments);
                }
                // Ensure the current window is active
                Window.Current.Activate();
            }
        }
示例#2
0
 public async static void ChangeVisibility(Windows.UI.ViewManagement.StatusBarProgressIndicator progressBar, bool visible)
 {
     if (visible)
     {
         await progressBar.ShowAsync();
     }
     else
     {
         await progressBar.HideAsync();
     }
 }
示例#3
0
        private Task ShowAsyncImpl()
        {
            if (_indicator != null)
            {
                return(_indicator.ShowAsync().AsTask());
            }
            var h = Handle;

            return(Task.Run(() =>
            {
                _isVisible = true;
                if (ProgressValue.HasValue)
                {
                    SetTaskbarProgress(ProgressValue.Value);
                }
                else
                {
                    // indeterminate
                    SetTaskbarProgress(-1);
                }
            }));
        }