У меня есть приложение для Windows-телефона с процессом входа в систему, при котором процесс входа в систему обращается к внешнему API. Контроллер для кнопки входа первоначально бежал некоторый код, который мгновенно можно перемещаться на страницу приборной панели:Проблема с Windows Phone 8 между страницами
private void LogInButton_Click(object sender, RoutedEventArgs e)
{
...
App.RootFrame.Navigate(new Uri("/Interface.xaml", UriKind.RelativeOrAbsolute));
}
Это прекрасно работает!
Позже я подумал, что лучше всего реализовать фактическое соединение с api, проверьте правильность данных пользователя и переадресуйте его на панель управления. для краткости я вынули АНИ части, но, скажем, эта функция получает передается повсюду в качестве действий делегата до призыва в его законное место, контроллер ..
...
// This method is also located in the controller class, but it is called by another class
public void LoadDashboard(DataUpdateState data)
{
//data.AsyncResponse
App.RootFrame.Navigate(new Uri("/Interface.xaml", UriKind.RelativeOrAbsolute));
}
Дело в том, теперь метод навигации больше не работает, он запускает отладку на RootFrame_NavigationFailed.
Что я не понимаю здесь?
Есть ли способ выяснить, почему он зарядил навигацию не удался метод в классе App
Ничего себе, это сработало. Благодарю. Таким образом, в принципе, вы не можете просто сказать ... изменить страницу, вы должны убедиться, что новый поток готов и предназначен для чего-то для вас? – Jimmyt1988
Нет, вам просто нужно убедиться, что вы звоните из нити ui, а не из потока backgroud (это точно так же, как вы не можете изменить какое-либо свойство компонента ui из фонового потока) –
Единственное, что Deployment.Current.Dispatcher.BeginInvoke do отправляет запрос обратно в нить ui, не запуская ничего –