Unable to navigate to page after extended splash in Windows 8 application

六眼飞鱼酱① 提交于 2019-12-06 07:50:12

ExtendedSplash must be a Page. So ExtendedSplash.xaml.cs:

public sealed partial class ExtendedSplash : Page
{
    public ExtendedSplash()
    {
        this.InitializeComponent();
    }

    protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        SplashScreen splash = (SplashScreen) e.Parameter;

        // Position the extended splash screen image in the same location as the splash screen image.
        this.extendedSplashImage.SetValue(Canvas.LeftProperty, splash.ImageLocation.X);
        this.extendedSplashImage.SetValue(Canvas.TopProperty, splash.ImageLocation.Y);
        this.extendedSplashImage.Height = splash.ImageLocation.Height;
        this.extendedSplashImage.Width = splash.ImageLocation.Width;

        // Position the extended splash screen's progress ring.
        this.ProgressRing.SetValue(Canvas.TopProperty, splash.ImageLocation.Y + splash.ImageLocation.Height + 32);
        this.ProgressRing.SetValue(Canvas.LeftProperty,
     splash.ImageLocation.X +
             (splash.ImageLocation.Width / 2) - 15);
    }
}

And all data fetch operations should be executed in App.xaml.cs. When finished, it's enough just to navigate frame to landing page.

sealed partial class App : Application
{
    private Frame _rootFrame;

    protected override async void OnLaunched(LaunchActivatedEventArgs args)
    {
        if(_rootFrame == null)
            _rootFrame = new Frame();

        // Place the frame in the current Window
        _rootFrame.Navigate(typeof (ExtendedSplash), args.SplashScreen);
        Window.Current.Content = _rootFrame;
        Window.Current.Activate();

        await PerformDataFetch();
    }

    internal async Task PerformDataFetch()
    {
        // data loading here

        RemoveExtendedSplash();
    }

    internal void RemoveExtendedSplash()
    {
        if (_rootFrame != null) _rootFrame.Navigate(typeof (MainPage));
    }
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!