如何在Windows 8中的另一个页面中的翻转视图控件中显示上一页选定的项目?

时间:2013-07-18 05:52:31

标签: windows-8 windows-8.1 flipview

我想在翻转视图控件中显示网格视图选定项目。控件放在另一页面中。 请告诉我怎么做到这个?

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

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>

请告诉我如何在翻看中显示previuos页面图像在Windows 8中的另一页?

1 个答案:

答案 0 :(得分:1)

嘿,我已经制作了一个标准样本来处理你的问题..你将你的flipview Itemssource绑定到Images(我认为在你的情况下的字符串集合..)所以首先制作一个名为Images..like this.in的ObservableCollection您的page.cs(或者在您的视图模型中,如果您在这种情况下使用,则必须向您的viewmodel发送消息。)就像这样..

 public ObservableCollection<string> Images { get; set; }
页面构造函数中的

执行此操作..

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


        this.DataContext = this;
    }

当你导航到这个页面时,只需将字符串url添加到你的收藏中它会自动更新你的flipview ..我已经采用了一个预定义的字符串(我觉得没问题)

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控件..

<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);
    }