我有一个带有多个图像的CarouselView,我想得到点击或点击的内容。我尝试添加x:名称但我无法在GestureRecognizer中访问此属性。
这是我的xaml。我有4页,每页有2张图片。我会得到x:点击图像的名称或者我可以知道图像被点击的位置。
<Image Grid.Row="0" Aspect="Fill" Source="{Binding Image1}" x:Name="{Binding ImageName1}" >
<Image.GestureRecognizers>
<TapGestureRecognizer
Tapped="ClickImage" />
</Image.GestureRecognizers>
</Image>
<Image Grid.Row="1" Aspect="Fill" Source="{Binding Image2}" x:Name="{Binding ImageName2}">
<Image.GestureRecognizers>
<TapGestureRecognizer
Tapped="ClickImage" />
</Image.GestureRecognizers>
</Image>
答案 0 :(得分:0)
试试这个,看它是否有效:
在xaml中为图像添加classid:
ClassId ="{Binding Image2}"
并像这样使用它。 imageString包含唯一的图像。
async void ClickImage(object sender, EventArgs eventArgs)
{
Image image = (Image)sender;
string imageString = image.ClassId;
System.Diagnostics.Debug.WriteLine(imageString);
}
答案 1 :(得分:0)
您可以为每个图像设置不同的点击手势处理程序,例如
<Image Grid.Row="0" Aspect="Fill" Source="{Binding Image1}" x:Name="{Binding ImageName1}" >
<Image.GestureRecognizers>
<TapGestureRecognizer
Tapped="ClickImage1" />
</Image.GestureRecognizers>
</Image>
<Image Grid.Row="1" Aspect="Fill" Source="{Binding Image2}" x:Name="{Binding ImageName2}">
<Image.GestureRecognizers>
<TapGestureRecognizer
Tapped="ClickImage2" />
</Image.GestureRecognizers>
</Image>