Windows Phone 7登录屏幕重定向

mat*_*lin 9 windows-phone-7

如果在其他地方有答案,请道歉,我找不到任何答案.

我想这是一种常见的情况.用户第一次运行应用程序时,如果他们没有任何已保存的详细信息,我希望他们使用SignIn.xaml,否则我只想直接进入MainPage.xaml.

我通常会通过在MainPage的构造函数中粘贴一个检查来执行此操作,如果他们没有详细信息导航.我遇到的问题是

NavigationService.Navigate(new Uri("/SignIn.xaml", UriKind.Relative));
Run Code Online (Sandbox Code Playgroud)

即将出现作为空引用.我错过了什么?在WP7中有没有正确的方法来做这样的事情?

谢谢

Jon*_*eet 6

不幸的是,WP7导航框架根本不能很好地处理"在首次运行时做某事"的情况.

我怀疑你看到的问题是你还没有NavigationService...但即使你这样做,你也会遇到问题:用户仍然可以点击"后退"按钮.你甚至无法解决这个问题,因为用户按下后应该退出应用程序......但是当用户点击后退按钮时,我没有办法在没有第一页的情况下做到这一点.

我发现的唯一解决方法是在与正常第一页相同的页面中显示"登录"视图,并有条件地显示一个或另一个.是的,它糟透了......但这是我找到的唯一有效的方法.如果你找到另一个,我会很高兴听到它:)


Mic*_*k N 6

Peter Torr在这里很好地介绍了页面重定向.提供了两种方法,涵盖了相对优点.编辑:注意您可以重定向到登录页面,而不是使用弹出建议进行登录处理.

重定向初始导航 - Peter Torr的博客

我还建议您熟悉他在这里的相关帖子.

介绍"地方"的概念 - 彼得托尔的博客

这解决了堆栈处理(认证考虑)和地址方案(如登录页面).