0

我无法将图像显示到另一页。图片取自json。所以我试图将列表框的选定项目的图像 url 传递到导航查询字符串中。我试图传递数据的变量显示为 null。请为我提供解决方案。谢谢

这里是第一页的代码:

 private void ImageList_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            var lbi = (sender as ListBox).SelectedItem;


            if (e.AddedItems.Count > 0)

            {

                Uri targetPage = new Uri("/DisplayPhoto.xaml?selectedItem="+ lbi.ToString(),UriKind.RelativeOrAbsolute);

                NavigationService.Navigate(targetPage);

            }
            ((ListBox)sender).SelectedIndex = -1;
        }

第二页代码:

 protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
        {
            string selectedIndex = "";
            if (NavigationContext.QueryString.TryGetValue("selectedItem", out    selectedIndex))
            {

                Uri uri = new Uri(selectedIndex, UriKind.Absolute);
                var img = new Image();
                img.Source = new BitmapImage(uri);
                img.Height = 400;
                img.Width = 400;
                listBox1.Items.Add(img);
            }
            base.OnNavigatedTo(e);

        }
4

2 回答 2

0

尝试使用Uri.EscapeUriString

Uri targetPage = new Uri("/DisplayPhoto.xaml?selectedItem="+ Uri.EscapeUriString(lbi.ToString()),UriKind.RelativeOrAbsolute); 
NavigationService.Navigate(targetPage);
于 2013-06-10T07:35:30.690 回答
0

我更喜欢通过一些静态属性发送数据,最好是在App类内。通过这种方式,您可以将复杂对象从一个页面“发送”到另一个页面。

于 2013-06-10T14:04:18.707 回答