I have control MoreOption (use SkiaSharp draw ). I use it at ListView . Every row of ListView have 1 MoreOption . When i clicked, it show popup (Update, Delete) . I use TapGestureRecognizer_Tapped to get position at row has chosen , but I can't get it's position .
Result : i want show popup at MoreOption's position when i clicked.
![]()
Here's code:
Inside ListView.xaml :
<ViewCell>
<AbsoluteLayout>
<Label Text="{Binding ID , StringFormat='{0:D3}'}" AbsoluteLayout.LayoutBounds="0,0.5,0.75,1"
VerticalTextAlignment="Center"
FontAttributes="Bold" AbsoluteLayout.LayoutFlags="All"/>
<Label Text="{Binding FullName}"
VerticalTextAlignment="Center" AbsoluteLayout.LayoutBounds="0.4,0.5,0.75,2" AbsoluteLayout.LayoutFlags="All"
FontAttributes="Bold" FontSize="20"
TextColor="{Binding Number, Converter={StaticResource ColorConverter}}"/>
<controls:MoreOption AbsoluteLayout.LayoutBounds="1.82,-0.5,0.5,1.5" AbsoluteLayout.LayoutFlags="All" />
</AbsoluteLayout>
</ViewCell>~~~~
Inside MoreOption.xaml :
<AbsoluteLayout VerticalOptions="FillAndExpand" x:Name="MoreOptionBtn">
<AbsoluteLayout.GestureRecognizers>
<TapGestureRecognizer Tapped="TapGestureRecognizer_Tapped" NumberOfTapsRequired="1"></TapGestureRecognizer>
</AbsoluteLayout.GestureRecognizers>
<skia:SKCanvasView x:Name="canvasView" AbsoluteLayout.LayoutBounds="0,0,0.1,0.15"
PaintSurface="OnCanvasViewPaintSurface"
AbsoluteLayout.LayoutFlags="All"/>
<skia:SKCanvasView x:Name="canvasView1" AbsoluteLayout.LayoutBounds="0,0.075,0.1,0.15"
PaintSurface="OnCanvasViewPaintSurface"
AbsoluteLayout.LayoutFlags="All" />
<skia:SKCanvasView x:Name="canvasView2" AbsoluteLayout.LayoutBounds="0,0.15,0.1,0.15"
PaintSurface="OnCanvasViewPaintSurface"
AbsoluteLayout.LayoutFlags="All" />
</AbsoluteLayout>
Inside MoreOption.cs :
private void TapGestureRecognizer_Tapped(object sender, TappedEventArgs e,TapGestureRecognizer tapGesture)
{
//var a = (AbsoluteLayout)sender;
//Page.DisplayAlert("Alert !!!", a.Bounds.X + "," + a.Bounds.Y+"****"+a.Bounds.Location, "OK");
ProgressDialog.ShowPopup(Page.Content, new MenuMoreOptions());
}
Have any way resolve this issue ???