我在里面有一个NavigationService.Navigate()调用,
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
if (!IsoStoreSettings.ContainsKey("accesstoken") || !(IsoStoreSettings.ReadKey<DateTime>("tokenexpiry") > DateTime.Now))
{
NavigationService.Navigate(new Uri("/signin.xaml", UriKind.Relative));
}
}
但是,这不会导航到signin.xaml
。但是,OnNavigatedTo()事件被调用两次。我究竟做错了什么?我还在项目中添加了Facebook SDK
。
我在RootFrame.UriMapper = new FacebookUriMapper();
App.xaml.cs
更新
这与我使用的Facebook
和Facebook.Client
版本有关。最新的alpha包之间存在一些不兼容性。
答案 0 :(得分:0)
Windows Phone 8.1不支持
NavigationService.Navigate(new Uri("/signin.xaml", UriKind.Relative));
而不是这个你可以使用
Frame.Navigate(typeof(signin));
此方法将导航至登录页面
答案 1 :(得分:0)
Facebook.Client SDK中的文件FacebookUriMapper
有错误。通过调试器查看时,它不会重定向到目标页面,而是切换回RedirectUri
中的默认Facebook.xml
。克隆计算机中的存储库,打开WP8解决方案,还原所需的Nuget
包。现在,打开FacebookUriMapper.cs
文件,修改最后else
块以返回uri
。构建并使用它作为引用的程序集。 NavigationService
在此之后绝对正常。