Xamarin表单:正在调用不同的项而不是flowlistview中的选定项?

Xamarin表单:正在调用不同的项而不是flowlistview中的选定项?,listview,xamarin.forms,visibility,Listview,Xamarin.forms,Visibility,最近我发布了一个与flowlistview项目可见性相关的问题,这个问题也与此相关 我在一个列表中有8个图像,最初显示一个问号图像。轻触问号图像时,问号图像下方将显示真实图像。使用最近的线程实现了此功能 这是一个儿童游戏游戏规则:玩家首先点击一个图像,然后真实图像对玩家可见。然后玩家点击另一个图像,然后玩家现在也可以看到该真实图像。如果图像匹配,玩家将获得分数,并且两个选定的项目将从UI中删除。如果不匹配,再次隐藏带有问号图像的真实图像 我已经做了以上的事情,但问题是有时图像的选择是错误的。如果

最近我发布了一个与
flowlistview
项目可见性相关的问题,这个问题也与此相关

我在一个列表中有8个图像,最初显示一个问号图像。轻触问号图像时,问号图像下方将显示真实图像。使用最近的线程实现了此功能

这是一个儿童游戏游戏规则:玩家首先点击一个图像,然后真实图像对玩家可见。然后玩家点击另一个图像,然后玩家现在也可以看到该真实图像。如果图像匹配,玩家将获得分数,并且两个选定的项目将从UI中删除。如果不匹配,再次隐藏带有问号图像的真实图像


我已经做了以上的事情,但问题是有时图像的选择是错误的。如果选择第四个图像,则第二个或第六个图像下的图像将显示在UI中。不知道这背后的原因是什么。我上传了一个示例项目。

原因:您通过确定图片的图像URL是否相等来匹配图片。 但是imageUrl在列表中不是唯一的

解决方案:您可以在模型中添加属性Id

public int Id { get; set; }
并通过确定项的Id是否相等来处理逻辑

ImageItems.Add(new NameMatchList() { Id = 1,imageUrl = "/cbrain-app/files/doc-lib/2018/02/22/11/46/06/971/head/Comfort the Sorrowing.png" });
ImageItems.Add(new NameMatchList() { Id = 2, imageUrl = "/cbrain-app/files/doc-lib/2018/02/22/11/46/23/784/head/Giving Food To The Hungry.png" });
//...

FlowListView
可能存在一些问题您是否尝试过使用XF
CollectionView
替代?我尝试过使用id属性,但仍然面临相同的问题。您可以共享示例吗?
if (items.Id == selecteditem.Id)
{
   if (!firstImageFlipped)
   {
     items.ImageVisibility = true;
     items.TopImageVisibility = false;
     firstImageFlipped = true;
     Application.Current.Properties["FirstImageUrl"] = selecteditem.imageUrl;
     Application.Current.Properties["FirstImageItem"] = selecteditem;
   }
}