0

I have a listView, it contains an image with a list of items. When I tap on the image, I should get ProfileID of that row.

<Image Source="{Binding ImageUrl}" x:Name="{Binding ProfileID}" Aspect="AspectFill">
    <Image.GestureRecognizers>
    <TapGestureRecognizer Tapped="imageUserGesture_Tapped"/>
    </Image.GestureRecognizers>
</Image>

private async void imageUserGesture_Tapped(object sender, EventArgs e)
{
    CloseAnimation();
    var img = ((Image)sender);
    var name = img.Name;//How can I read name property ??????
    //var name = e.LoadFromXaml(MatchProfile).Name;
}

2 Answers2

0

Name is not an actual property you can reference, it is just a XAML artifact (hence the "x" prefix). Instead, you can use the BindingContext to get the data you need

var img = ((Image)sender);
var context = (MyClassGoesHere)img.BindingContext;
var name = context.ProfileID;
Jason
  • 86,222
  • 15
  • 131
  • 146
0
<Image Source="{Binding ImageUrl}"
       x:Name="imageUser"
       Aspect="AspectFill">
                                                                
   <Image.GestureRecognizers>
      <TapGestureRecognizer Tapped="imageUserGesture_Tapped"
         Command="{Binding TapCommand}"
         CommandParameter="{Binding ProfileID}"
         NumberOfTapsRequired="1"/>
                                                                
   </Image.GestureRecognizers>

</Image>

enter image description here