/
_60122ImageRenderer.cs
41 lines (36 loc) · 1.13 KB
/
_60122ImageRenderer.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using System;
using Windows.UI.Input;
using Windows.UI.Xaml.Input;
using Xamarin.Forms.ControlGallery.WindowsUniversal;
using Xamarin.Forms.Controls.Issues;
using Xamarin.Forms.Platform.UWP;
[assembly: ExportRenderer(typeof(Bugzilla60122._60122Image), typeof(_60122ImageRenderer))]
namespace Xamarin.Forms.ControlGallery.WindowsUniversal
{
public class _60122ImageRenderer : ImageRenderer
{
Bugzilla60122._60122Image _customControl;
readonly Windows.UI.Input.GestureRecognizer _gestureRecognizer = new Windows.UI.Input.GestureRecognizer();
protected override void OnElementChanged(ElementChangedEventArgs<Image> e)
{
base.OnElementChanged(e);
if (e.NewElement != null)
{
_customControl = e.NewElement as Bugzilla60122._60122Image;
_gestureRecognizer.GestureSettings = GestureSettings.HoldWithMouse;
Holding += OnHolding;
}
else
{
Holding -= OnHolding;
}
}
void OnHolding(object sender, HoldingRoutedEventArgs holdingRoutedEventArgs)
{
if (holdingRoutedEventArgs.HoldingState == HoldingState.Completed)
{
_customControl?.HandleLongPress(_customControl, new EventArgs());
}
}
}
}