我的 XAML 中有几个图像,如下所示(对于这个示例,我包含了两个图像)。
<StackLayout Orientation="Horizontal" HorizontalOptions="Fill" Padding="0,5,0,5">
<Image x:Name="Image1" ClassId="{Binding Image1}" Source="tickoff.png" HeightRequest="18">
<Image.GestureRecognizers>
<TapGestureRecognizer
Tapped="SelectedImage"
NumberOfTapsRequired="1" />
</Image.GestureRecognizers>
</Image>
<Label Text="Asian Foods" FontSize="16" HorizontalOptions="Center" Margin="5,0,0,0"
TextColor="{StaticResource greyishBrown}"/>
</StackLayout>
StackLayout Orientation="Horizontal" HorizontalOptions="Fill" Padding="0,5,0,5">
<Image x:Name="Image2" ClassId="{Binding Image2}" Source="tickoff.png" HeightRequest="18">
<Image.GestureRecognizers>
<TapGestureRecognizer
Tapped="SelectedImage"
NumberOfTapsRequired="1" />
</Image.GestureRecognizers>
</Image>
<Label Text="Japanese Foods" FontSize="16" HorizontalOptions="Center" Margin="5,0,0,0"
TextColor="{StaticResource greyishBrown}"/>
</StackLayout>
我想检查用户单击了哪些图像。为此,我正在使用 ClassId。我在所有图像中都包含了 ClassId。这在后面的代码中有一个方法,我正在从那里访问 classId。
但是当用户单击图像时,我没有得到 ID。我是 C# 和 Xamarin 表单的新手。有人可以帮助我。
public void SelectedImage(object sender, EventArgs eventArgs)
{
Image image = (Image)sender;
string imageString = image.ClassId;
DisplayAlert("Test", imageSender.ClassId,"OK");
//TODO
}