如何将列表从xaml页面传递到另一个页面?

时间:2014-03-28 10:34:05

标签: windows-phone-7 windows-phone-8

我正在寻找有关如何将数据从一个页面传递到另一个页面的最佳做法。

在页面A中,我有一个按钮,可以触发页面B. 在页面B上,我有6个文本框,允许用户输入信息。用户完成后,单击按钮可将信息存储到列表中,并将其返回到页面A.

我想将该数据(列表)传回页面A.

我正在寻找最佳实践。什么被普遍认为是最好的方式?

由于

2 个答案:

答案 0 :(得分:0)

此问题与this question.

完全相同

这是对我来说最好的答案。

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

然后在其他页面中

var k = PhoneApplicationService.Current.State["yourparam"];

答案 1 :(得分:0)

您可以使用PhoneApplicationService.Current.State,这肯定适用于List:

//create Dictionary
List<int> numbers = new List<int> { 1, 3, 4, 5 };

// add to Dictionary
PhoneApplicationService.Current.State.Add("test", numbers);

// then change in disctionary if already added
PhoneApplicationService.Current.State["test"] = numbers;

// retrive from Dictionary
List<int> newList = PhoneApplicationService.Current.State["test"] as List<int>;

此方法有一个很大的优势 - 您的数据将保留在Tombstone状态。

你可以考虑使用static变量(可以通过你的命名空间访问。你也可以关注this article并通过NavigationService传递你的List - 我在{{3}中写了一些关于它的内容}。