1

好的,我在 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));
 });
4

1 回答 1

1

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

于 2013-07-10T16:19:57.023 回答