好的,我在 wp7 应用程序中有以下内容。我正在使用 Microsoft.Bcl 和 Microsoft.Bcl.Async。
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
}
}
我在 atif(LoggedIn)
和 at中设置了断点,NavigationService.Navigate
只是为了查看它是否到达那里并且确实到达了那里,但是MessageBox
代码中的 没有显示,并且放置断点不会中断,表明它没有到达那么远。我还设置了一个断点RootFrame_Navigating
,它也没有到达那里。
关于它为什么会卡在 Navigate 的任何想法?
编辑:问题已解决
我将导航放在 a 中Dispatcher.BeginInvoke
,现在它可以工作了。
this.Dispatcher.BeginInvoke(() =>
{
NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
});