开发者

WP7 SplashPage Navigation problem - back button and exit

I have something like this :

SplashPage -> MainPage -> Settings -> About

SplashPage is only page with my logo and animation for about 1 second, and then I redirect my user to MainPage. First problem was that when I press back button on MainPage, I'm back to splashpage and that wasn't good. I solved that by this piece of code :

private bool navigateBack;

        public SplashPage()
        {
            InitializeComponent();

            navigateBack = false;
        }

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
        {
            if (navigateBack)
            {
                this.NavigationService.GoBack();
            }
            else
            {
                navigateBack = true;
                base.OnNavigatedTo(e);
            }
        }

This way on back button press, user never see splashpage again, but I have weird problem. Application is throwing Navigation Exception that CanGoBack property is false and application exit. It's true, that I want to exit from app, but not using exception, because I will fail certification in marketplace.

My question is how to navigate back from MainPage and ex开发者_如何学JAVAit application, but with no exception thrown. Thank you in advance!


Introducing a separate page for your splash screen introduces more problems than it solves (as you're finding out), so I'd reccomend using an overlay on your main page instead. I [posted about using splash screens and this very situation a while back.


Read the following for background on this scenario and how to approach it:

http://blogs.msdn.com/b/ptorr/archive/2010/08/28/introducing-the-concept-of-places.aspx
and
http://blogs.msdn.com/b/ptorr/archive/2010/08/28/redirecting-an-initial-navigation.aspx


in Mango you can use

NavigationService.RemoveBackEntry()

to remove a page from your page stack, i.e your splashpage as soon as you hit your MainPage

so if you have your splashpage to mainpage you would call the function twice

the first time to remove MainPage from the page stack and the second time to remove SplashPage from the page stack, you will notice that when you press the back key now you will close the app

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜