-1

我正在构建这个应用程序,它将根据用户的姓名、年龄和位置为用户提供一些信息。

如果应用程序是第一次启动,我想将用户重定向到 FirstTimePage.xaml,他可以在其中保存他的姓名、年龄和位置。

如果用户不是第一次打开应用程序,应用程序会从独立存储中检索姓名、年龄和位置,因此无需访问 FirstTimePage.xaml

目前,如果存在隔离存储上的数据,我正在检查 MainPage.xaml。如果它们存在,用户将停留在 MainPage.xaml。如果它们不存在,则将用户重定向到 FirstTimePage.xaml。

我的问题:

用户第一次打开应用程序时,即使他们被重定向到 FirstTimePage.xaml,也会在几帧中看到 MainPage.xaml。连一秒都没有,却是有些难看。所以我尝试将“检查”代码放入 app.xaml.cs(在应用程序启动时执行的代码块内)

问题是它无法识别导航代码。它给了我一个粗体字“NavigationService.Navigate ....”的错误

我能做些什么来解决我的问题?

4

1 回答 1

2

为了控制导航,您需要调用Application.Current.RootFrame来访问NavigationService实际加载页面之前的访问权限。

private void Application_Launching(object sender, LaunchingEventArgs e)
    {
            //Logic should go here to determine what page needs to load
            Uri nUri = new Uri("/Page1.xaml", UriKind.Relative);
            ((App)Application.Current).RootFrame.Navigate(nUri);

    }

请参阅:设置起始页以进行更深入的讨论。

于 2013-01-07T19:02:04.017 回答