当更改 CollectionView 中的一个对象时,多个对象会受到影响

When change an object inside a CollectionView multiple objects are affected

如果我在 CollectionView 中隐藏图像可见性,多个图像可见性会影响但图像 Tapped 事件会触发一次。

简化的 CollectionView xaml..

<CollectionView x:Name="favCollectionView"
ItemsSource="{Binding FavoriteCollection}"
RemainingItemsThresholdReachedCommand="{Binding GetNextDatas}"
RemainingItemsThreshold="1"
ItemSizingStrategy="MeasureAllItems"
ItemsLayout="VerticalList"
SelectionMode="Single">
   <CollectionView.ItemTemplate>
      <DataTemplate>
        <Grid VerticalOptions="FillAndExpand">
          <Label Grid.Row="0" Text="{Binding TargetText}"/>
          <Image Grid.Row="0" Aspect="AspectFill" Source="seeResult.png">
             <Image.GestureRecognizers>
                 <TapGestureRecognizer Tapped="Tapped_TranslatedResult"/>
             </Image.GestureRecognizers>
          </Image>
        </Grid>
      </DataTemplate>
   </CollectionView.ItemTemplate>
</CollectionView>

代码隐藏..

void Tapped_TranslatedResult(System.Object sender, System.EventArgs e)
{
    var img = sender as Image;
    if (img != null)
    {
        img.Opacity = 0;
    }
}

例如,如果我在 CollectionView 中有 50 行并点击一次顶部第二个图像项目,下一个第九个图像的可见性也会改变,然后再下一个第九个图像,依此类推..

可能是什么问题?

我将 Image 更改为 ImageButton,然后添加了 Command 参数。关键是杰森的评论。将模型 属性 绑定到我的 ImageButton 的 IsVisibility 属性 并且它工作正常。