不能使用NavigationService
本文关键字:NavigationService 不能 | 更新日期: 2023-09-27 17:50:58
我正在构建这个应用程序,它将根据用户的姓名,年龄和位置为用户提供一些信息。
如果应用程序是第一次启动,我想将用户重定向到FirstTimePage。Xaml,他可以保存他的名字,年龄和位置。
如果用户不是第一次打开应用程序,应用程序将从隔离存储中检索姓名,年龄和位置,因此不需要转到FirstTimePage.xaml
目前,我正在查看主页。如果存在隔离存储上的数据,则使用xaml。如果存在,则用户停留在MainPage.xaml上。如果它们不存在,则将用户重定向到FirstTimePage.xaml。
我问题:用户第一次打开应用程序,即使他们被重定向到FirstTimePage。对于一些帧,他们看到MainPage.xaml。一秒钟都没有,但它有点丑。因此,我尝试将"检查"代码放到app.xaml.cs(在应用程序启动时执行的代码块内)
问题是它不能识别导航代码。它在"NavigationService.Navigate...."这个粗体字处显示了一个错误"
我能做什么来解决我的问题?
为了控制导航,您需要在页面实际加载之前调用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);
}
参见:设置起始页以获得更深入的讨论。