NavigationService.Navigate既不导航也不抛出任何异常

时间:2015-02-08 10:39:23

标签: c# facebook windows-phone windows-phone-8.1 facebook-c#-sdk

我在里面有一个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

更新 这与我使用的FacebookFacebook.Client版本有关。最新的alpha包之间存在一些不兼容性。

2 个答案:

答案 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在此之后绝对正常。