Я пытаюсь перейти на другую страницу (используя UriMapping) из некоторого класса, который обрабатывает API-интерфейс сервера, но это не работает.Вот мой код:
public void processResponce(item Response)
{
try
{
var token = Response.result.token;
this.setToken("&token=" + token);
Debug.WriteLine(this.apiUrl);
(Application.Current.RootVisual as PhoneApplicationFrame).Navigate(new Uri("/listItems", UriKind.Relative));
}
catch
{
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
var messageFromServer = Response.error.message;
MessageBox.Show(messageFromServer);
Debug.WriteLine(messageFromServer);
});
}
}
SDK постоянно говорит, что файл не существует.Но если я вызову Navigate () из некоторого класса, прикрепленного к представлению (например, MainPage.xaml.cs), то навигация завершится успешно.Кто-нибудь может помочь?
UPD. У меня несколько страниц * .xaml, но этот класс не подключен напрямую к другой странице.Прямо сейчас этот класс называется «JSON-RPC».Я пробовал разные способы решить мою проблему (даже назвал его "public part JSON-RPC: PhoneApplicationPage"), но ... Проблема в том, что если я буду вызывать Navigate () из какого-то класса, прикрепленного к странице * .xaml (вОбозреватель решений отображается как дерево - * .xaml page -> pagename.xaml.cs), затем работает;если я буду вызывать Navigate () из моего класса JSON-RPC, то он всегда говорит: «Файл не найден».
UPD2.Решение: Иногда я чувствую себя дураком.Ответ:
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
(Application.Current.RootVisual as PhoneApplicationFrame).Navigate(new Uri("/listItems", UriKind.Relative));
});
Нам нужно вызвать Dispatcher для решения этой проблемы.