我正在尝试从某个处理服务器 API 的类导航到另一个页面(使用 UriMapping),但它不起作用。这是我的代码:
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(),附加到视图(fe,MainPage.xaml.cs),那么导航成功。任何人都可以帮忙吗?
UPD。我有多个 *.xaml 页面,但这个类没有直接连接到另一个页面。现在,这个类名为“JSON-RPC”。我尝试了不同的方法来解决我的问题(甚至将他命名为“公共部分 JSON-RPC:PhoneApplicationPage”),但是......问题是:如果我将从某个类调用 Navigate(),附加到 *.xaml 页面(在解决方案资源管理器,它像树一样显示 - *.xaml 页面 -> pagename.xaml.cs),然后它就可以工作了;如果我从我的 JSON-RPC 类中调用 Navigate(),那么它总是说“找不到文件”。
UPD2。解决方案: 有时我觉得自己是个傻瓜。答案是:
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
(Application.Current.RootVisual as PhoneApplicationFrame).Navigate(new Uri("/listItems", UriKind.Relative));
});
我们需要调用 Dispatcher 来解决这个问题。