2012-11-09 5 views
1

C# 및 XAML을 사용하여 Windows 8 메트로 앱에서 시작 화면을 활성화하고 진행률 링을 추가해야합니다. 확장 스플래시 화면을 추가했지만 전혀 표시되지 않습니다! 아무도 나에게 이걸하는 법을 말해 줄 수 있니?Windows 8의 스플래시 화면에 진행률 링을 추가하는 방법은 무엇입니까?

using System; 
    using System.Collections.Generic; 
    using System.IO; 
    using System.Linq; 
    using Windows.ApplicationModel; 
    using Windows.ApplicationModel.Activation; 
    using Windows.Foundation; 
    using Windows.Foundation.Collections; 
    using Windows.UI.Xaml; 
    using Windows.UI.Xaml.Controls; 
    using Windows.UI.Xaml.Controls.Primitives; 
    using Windows.UI.Xaml.Data; 
    using Windows.UI.Xaml.Input; 
    using Windows.UI.Xaml.Media; 
    using Windows.UI.Xaml.Navigation; 
    using SplashScreenSample; 

    // The Blank Application template is documented at  http://go.microsoft.com/fwlink/?  LinkId=234227 

    namespace App1 
    { 
    /// <summary> 
    /// Provides application-specific behavior to supplement the default Application class. 
    /// </summary> 
    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 when the application is launched to open a specific file, to display 
     /// search results, and so forth. 
     /// </summary> 
     /// <param name="args">Details about the launch request and process.</param> 
     protected override void OnLaunched(LaunchActivatedEventArgs args) 
     { 
      // Do not repeat app initialization when already running, just ensure that 
      // the window is active 
      /* if (args.PreviousExecutionState != ApplicationExecutionState.Running) 
      { 
       bool loadState = (args.PreviousExecutionState ==     ApplicationExecutionState.Terminated); 
       ExtendedSplash extendedSplash = new ExtendedSplash(args.SplashScreen, loadState); 
       Window.Current.Content = extendedSplash; 
      } 

      Window.Current.Activate();*/ 

      if (args.PreviousExecutionState == ApplicationExecutionState.Running) 
      { 
       Window.Current.Activate(); 
       return; 
      } 

      if (args.PreviousExecutionState == ApplicationExecutionState.Terminated) 
      { 
       //TODO: Load state from previously suspended application 
      } 

      // Create a Frame to act navigation context and navigate to the first page 
      var rootFrame = new Frame(); 
      rootFrame.Navigate(typeof(MainPage)); 

      // Place the frame in the current window and ensure that it is active 
      Window.Current.Content = rootFrame; 
      Window.Current.Activate(); 
      if (!rootFrame.Navigate(typeof(MainPage))) 
      { 
       throw new Exception("Failed to create initial page"); 
      } 

      // Place the frame in the current Window and ensure that it is active 
      Window.Current.Content = rootFrame; 
      Window.Current.Activate(); 
     } 

     /// <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(); 
     } 

     /// <summary> 
     /// Invoked when the application is activated to display search results. 
     /// </summary> 
     /// <param name="args">Details about the activation request.</param> 
     protected override void OnSearchActivated(Windows.ApplicationModel.Activation.SearchActivatedEventArgs args) 
     { 
      App1.SearchResultsPage1.Activate(args.QueryText, args.PreviousExecutionState); 
     } 
    } 
} 
+0

Welcome to stackoverflow! 가능한 경우 게시 정확도를 향상시키고 더 나은 결과를 얻으려면 질문에 샘플 코드를 제공하는 것이 좋습니다. 좋은 하루 되세요 :) –

+2

스플래시 화면의 기본 제공 기능으로는이 작업을 수행 할 수 없습니다. 그게 말이 되든, 스토어 앱은 합리적인 시간에 시작해야하거나 죽을 것이다. 진행 반지를 유용하게 만들기에는 너무 짧습니다. 당신은 당신 자신의 것을 만들어야 할 것입니다. 저장 확인을 통과 할 지 확실하지 않습니다. –

답변

0

확장 된 시작 화면을 사용하면 올바른 길을 걷고 있습니다.

당신은, 실행되는 샘플 및 퀵 스타트로 시작이 작동하는지 확인해야 당신 http://msdn.microsoft.com/en-us/library/windows/apps/xaml/Hh973049%28v=win.10%29.aspx http://code.msdn.microsoft.com/windowsapps/Splash-screen-sample-89c1dc78

샘플이 작동하고 코드가 아닌 경우 두 코드간에 다른 것을 찾으거나 코드를 샘플로 마이그레이션하십시오. XAML 측면에서도 뭔가 잘못되었을 수 있습니다.

관련 문제