我想在翻转视图控件中显示网格视图选定项目。控件放在另一页面中。 请告诉我怎么做到这个?
我尝试了以下代码: 上一页网格视图项单击事件:
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中的另一页?
答案 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);
}