protected override bool OnSingleTap(MotionEvent e)
        {
            try
            {
                var pointer = e.GetPointer(0);
                var args    = new TappedRoutedEventArgs(new Point(e.GetX(), e.GetY()))
                {
                    OriginalSource    = _target,
                    PointerDeviceType = pointer.PointerDeviceType,
                    CanBubbleNatively = true
                };

                return(_target.RaiseEvent(UIElement.TappedEvent, args));
            }
            catch (Exception ex)
            {
                Windows.UI.Xaml.Application.Current.RaiseRecoverableUnhandledExceptionOrLog(ex, this);
                return(false);
            }
        }
Beispiel #2
0
            protected override UIGestureRecognizer CreateRecognizer(UIElement owner)
            {
                var recognizer = new UITapGestureRecognizer(OnGesture)
                {
                    NumberOfTapsRequired = 2,
                };

                recognizer.ShouldReceiveTouch += (_, touch) => (touch.View == owner);

                return(recognizer);

                void OnGesture(UITapGestureRecognizer r)
                {
                    var doubleTappedArgs = new DoubleTappedRoutedEventArgs(r.LocationInView(owner))
                    {
                        OriginalSource    = owner,
                        PointerDeviceType = PointerDeviceType.Touch
                    };

                    owner.RaiseEvent(DoubleTappedEvent, doubleTappedArgs);
                }
            }
Beispiel #3
0
            protected override UIGestureRecognizer CreateRecognizer(UIElement owner)
            {
                var recognizer = new UITapGestureRecognizer(OnGesture)
                {
                    NumberOfTapsRequired = 1,
                };

                recognizer.ShouldReceiveTouch += (_, touch) => true;

                return(recognizer);

                void OnGesture(UITapGestureRecognizer r)
                {
                    var tappedArgs = new TappedRoutedEventArgs(r.LocationInView(owner))
                    {
                        OriginalSource    = owner,
                        PointerDeviceType = PointerDeviceType.Touch
                    };

                    owner.PreRaiseTapped?.Invoke(this, null);
                    owner.RaiseEvent(TappedEvent, tappedArgs);
                }
            }