我调用API并从那里获取图像的ID,名称和URL ...
我在flipview中显示它们并且我曾经将它们转换,将它们保存在一个文件夹中,然后将它们转换回来并显示它们......
所以我认为如果我直接从他们的网址上显示它们会更容易。
现在,当用户点击(点击)图片时,它必须转到另一个页面以显示该图像的细节(并且在保存图片时工作正常,因为我用id命名它们( id.png))
无论如何我可以将ImageSource命名为此id,或者将其命名为属性(Title或Name)?
DEBUG
那么,而不是保存它们:
var pics = from special in GlobalVariables.Special
where special.special == "1"
select new { id = special.id, name = special.name, image = special.banner_image, featured = special.special };
foreach (var item in pics)
{
await savePicToDisk(item.image, item.name, item.id, item.featured);
}
然后,在我必须展示它们的地方,我只是将它绑定到flipview:
List<ImageSource> listOfImages = new List<ImageSource>();
string url = "http://52.8.2.140" + picAddress;
ImageSource urlOfPic = new BitmapImage(new Uri(url, UriKind.Absolute));
listOfImages.Add(urlOfPic);
答案 0 :(得分:0)
Item_Click 事件的参数有一个属性 ClickedItem (在某些情况下,您可能还需要 OriginalSource ),您可以使用它来指向您在集合中的项目。如果item的类具有负责Name / Id / other的属性,则可以在导航时自由传递,其他解决方案可能是传递集合中所选项的索引。示例代码;
private void ItemClick(object sender, ItemClickEventArgs e)
{
var item = e.ClickedItem as ItemClass;
if (item != null)
Frame.Navigate(typeof(DetailPage), item.ID);
// if your item contains a Name/Id/other you can pass that when navigating
// you can also pass index of your item in collection if you need
}