2013-07-10 20 views
1

好吧我在wp7应用程序中有以下内容。我正在使用Microsoft.Bcl和Microsoft.Bcl.Async。NavigationService不导航,异步相关?

async void FB_Login() 
{ 
    Bool LoggedIn = false; 

    LoggedIn = await LoginToFB(); 

    if(LoggedIn) 
    { 
     SaveProfile(); 

     NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative)); // Code does reach this point but does not navigate 

     MessageBox.Show("Navigating"); // Code does not reach here 
    } 
} 

我把在if(LoggedIn)NavigationService.Navigate破发点只是为了看它是否到达那里,它只不过在代码中的MessageBox不显示和投入断点不破表明其没有达到那么远。我也在RootFrame_Navigating中设置了一个断点,但它也没有到达那里。

任何想法为什么它卡在导航?

编辑:问题解决

我把导航的Dispatcher.BeginInvoke,现在它的工作原理。

this.Dispatcher.BeginInvoke(() => 
{ 
    NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative)); 
}); 

回答

1

尝试从此方法中提取导航逻辑。

+0

您的评论给了我一个灯泡时刻:-) – Gaz83