1

我想在翻转视图控件中显示网格视图选定项。该控件被放置在另一个页面中。请告诉我如何得到这个?

我尝试了以下代码:上一页网格视图项目单击事件:

private void PhotoGrid_ItemClick(object sender, ItemClickEventArgs e)
        {
            var itemid = ((flipimage)e.ClickedItem);
            flipimage s = new flipimage() { ImageUrl = itemid.ImageUrl, Title = itemid.Title };
            this.Frame.Navigate(typeof(FlipPage), s);
        }

第二页:

 protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            //XDocument xdoc = XDocument.Load("XMLFile1.xml");
            //IEnumerable<flipimage> images = from img in xdoc.Descendants("Image") select new flipimage(img.Element("ImageTitle").Value, img.Element("ImageUrl").Value);

            flipimage s = (flipimage)e.Parameter;
           string url =  s.ImageUrl;
           flipviewcontrol.Items.Add(url);

           //flipviewcontrol.DataContext = images;
        }



<FlipView HorizontalAlignment="Left" VerticalAlignment="Top" x:Name="flipviewcontrol" ItemsSource="{Binding}">
            <FlipView.ItemTemplate>
                <DataTemplate>

                    <Image HorizontalAlignment="Left"  Source="{Binding ImageUrl}" Height="762" VerticalAlignment="Top" Width="1360" x:Name="imagecontrol"/>
                </DataTemplate>
            </FlipView.ItemTemplate>

        </FlipView>

请告诉我如何在 Windows 8 的翻页视图中显示前一页图像?

4

1 回答 1

1

嘿,我已经制作了一个标准示例来解决您的问题..您正在将您的 Flipview Itemssource 绑定到图像(我认为在您的情况下是字符串的集合..)所以首先在您的页面中创建一个名为 Images..like this.in 的 ObservableCollection。 cs(或者在您的视图模型中,如果您在这种情况下使用,您必须向您的视图模型发送消息。)像这样..

 public ObservableCollection<string> Images { get; set; }

在您的页面构造函数中执行此操作..

public BasicPage1()
    {
        this.InitializeComponent();
        Images = new ObservableCollection<string>();


        this.DataContext = this;
    }

当您导航到此页面时,只需将字符串 url 添加到您的集合中,它就会自动更新您的翻转视图。我已经采用了预定义的字符串(我认为这很好)

protected override void OnNavigatedTo(NavigationEventArgs e)
    {
        //XDocument xdoc = XDocument.Load("XMLFile1.xml");
        //IEnumerable<flipimage> images = from img in xdoc.Descendants("Image") select new flipimage(img.Element("ImageTitle").Value, img.Element("ImageUrl").Value);

        string url = "/Assets/teacher-symbol.png";
        Images.Add(url);
        Images.Add(url);
        Images.Add(url);
        Images.Add(url);
        Images.Add(url);
        Images.Add(url);
      //  flipviewcontrol.Items.Add(url);

        //flipviewcontrol.DataContext = images;
    }

现在像这样更改您的翻转视图控件..

<FlipView HorizontalAlignment="Left" VerticalAlignment="Top" x:Name="flipviewcontrol" ItemsSource="{Binding Images}" Grid.Row="1">
        <FlipView.ItemTemplate>
            <DataTemplate>

                <Image HorizontalAlignment="Left"  Source="{Binding}" Height="762" VerticalAlignment="Top" Width="1360" x:Name="imagecontrol"/>
            </DataTemplate>
        </FlipView.ItemTemplate>

    </FlipView>

希望这有帮助..对于下面的任何查询评论..

对于您的查询..您必须这样做..对于您的其他图像..

private void flipviewcontrol_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        string url = "/Assets/usericondash.png";
        Images.Add(url);
    }
于 2013-07-18T07:15:35.887 回答