0

我有两个 xaml 页面。我试图在导航期间将字符串列表数组从一个页面传递到另一个页面。我可以轻松传递字符串对象,但无法传递集合对象。谁能帮帮我吗。我已经编写了如下代码。

第一个xml

List<string> array = //contains the array of strings
NavigationService.Navigate(new Uri("/ListViewController.xaml?parameter="+array, UriKind.Relative));

第二个 xaml 即 ListViewController.xaml

protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
string msg;
if (NavigationContext.QueryString.TryGetValue("parameter",out msg))
{
foreach (char str in msg)
Debug.WriteLine("Data "+ str);
}
}
4

2 回答 2

0

你可以试试这个

在 Windows Phone 8 应用程序的页面之间传递非字符串参数

于 2013-11-25T06:35:02.853 回答
0

这适用于 ObservableCollection,所以我希望适用于 List。您可以通过 Navigate 方法的参数传递集合:

    ObservableCollection<string> gifts = new ObservableCollection<string>();

    private void GoToMoreButton_Click(object sender, RoutedEventArgs e)
    {
         this.Frame.Navigate(typeof(MoreOptionPage), gifts);
    }

并在目标页面中获取它:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
     gifts2 = e.Parameter as ObservableCollection<string>;
}
于 2017-03-15T15:25:37.760 回答