2013-07-10 4 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, и он тоже не доходит.

Любые идеи относительно того, почему его застряли в навигации?

Edit: Проблема решена

Я поставил навигацию в Dispatcher.BeginInvoke и теперь он работает.

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

ответ

1

Попробуйте извлечь навигационную логику из этого метода.

+0

Ваш комментарий дал мне лампочку :-) – Gaz83

Смежные вопросы