具有复杂数据的页面导航参数

时间:2014-05-14 07:43:22

标签: c# windows-phone-8

我从一个页面导航到另一个页面。我知道如何在这些页面之间传输一些数据:

"致电Page":

 NavigationService.Navigate(new Uri("/Views/ViewerPage.xaml?image=" + mImageID, UriKind.Relative));

"被称为Page":

 NavigationContext.QueryString.TryGetValue("image", out mImageURL)

但是如何传输更复杂的数据呢?

 List<tring> mList = new List<string>;
 mList.Add("test-1");
 mList.Add("test-2");

我想现在转移完整列表`mList&#39;到被调用的页面。 任何不确定如何处理这个?

1 个答案:

答案 0 :(得分:4)

在第一页中执行以下操作:

PhoneApplicationService.Current.State["param"] = mList;
NavigationService.Navigate(new Uri("/PhonePageOne.xaml", UriKind.Relative));

在第二个检索参数:

List<string> p = PhoneApplicationService.Current.State["param"] as List<string>;

PhoneApplicationService.State字典是一个临时存储位置,在您的应用停用之前一直存在。

其他选项可以是在例如App.xaml.cs中声明一个静态成员,并使用它来保存从一个页面到第二个页面的thoe对象。