C# 在旋转视图中单击获取图像

C# 在旋转视图中单击获取图像,c#,forms,image,xamarin,xamarin.forms,C#,Forms,Image,Xamarin,Xamarin.forms,我有一个有多个图像的旋转视图,我想得到被点击或点击的内容。我已尝试添加x:名称,但无法在手势识别器中访问此属性 这是我的xaml。我有4页,每页有2张图片。我会得到被点击图像的x:Name,或者我可以知道图像被点击的位置 <Image Grid.Row="0" Aspect="Fill" Source="{Binding Image1}" x:Name="{Binding ImageName1}" > <Image.GestureRecognizers&

我有一个有多个图像的旋转视图,我想得到被点击或点击的内容。我已尝试添加x:名称,但无法在手势识别器中访问此属性

这是我的xaml。我有4页,每页有2张图片。我会得到被点击图像的x:Name,或者我可以知道图像被点击的位置

<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>

试试这个,看看它是否有效:

将classid添加到xaml中的图像:

 ClassId ="{Binding Image2}"
像这样使用它。imageString包含唯一的图像

 async void ClickImage(object sender, EventArgs eventArgs)
 {
    Image image = (Image)sender;
    string imageString = image.ClassId;
    System.Diagnostics.Debug.WriteLine(imageString);

 }

您可以为每个图像设置不同的点击手势处理程序,例如

<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>

谢谢!!这正是我要找的!没问题!:)很高兴我能帮忙