private void OnPointerCancelled(object sender, PointerRoutedEventArgs e) { if (!_xfElement.IsVisible || FrameworkElement == null) { return; } PointerRoutedDebugMessage(e, "POINTER CANCELLED"); long elapsed = 0; if (_holdTimer != null) { elapsed = _holdTimer.ElapsedMilliseconds; _holdTimer?.Stop(); _holdTimer = null; } _releaseTimer?.Stop(); _releaseTimer = null; foreach (var listener in _listeners) { if (listener.HandlesTapped) { var args = new UwpTapEventArgs(FrameworkElement, e, _numberOfTaps) { Listener = listener, Cancelled = true }; listener?.OnTapped(args); e.Handled = args.Handled; } if (_longPressing && listener.HandlesLongPressed) { var args = new UwpLongPressEventArgs(FrameworkElement, e, elapsed) { Listener = listener, Cancelled = true }; listener?.OnLongPressed(args); e.Handled = args.Handled; } if (listener.HandlesDown) { var args = new UwpDownUpArgs(FrameworkElement, e) { Listener = listener, Cancelled = true }; listener.OnUp(args); e.Handled = args.Handled; if (e.Handled) { return; } } } }
public static bool FireDoubleTapped(Windows.UI.Xaml.FrameworkElement element, Windows.UI.Xaml.Input.DoubleTappedRoutedEventArgs e, int numberOfTaps, Listener listener) { var args = new UwpTapEventArgs(element, e, numberOfTaps); args.Listener = listener; listener.OnDoubleTapped(args); e.Handled = args.Handled; return(e.Handled); }
public static bool FireTapped(FrameworkElement element, TappedRoutedEventArgs e, int numberOfTaps, Listener listener) { var args = new UwpTapEventArgs(element, e, numberOfTaps); args.Listener = listener; listener.OnTapped(args); e.Handled = args.Handled; return(e.Handled); }
public static bool FireTapped(FrameworkElement element, int numberOfTaps, Listener listener) { var args = new UwpTapEventArgs(element, numberOfTaps) { Listener = listener }; listener.OnTapped(args); return(args.Handled); }
private void OnDoubleTapped(object sender, DoubleTappedRoutedEventArgs e) { if (!_xfElement.IsVisible || FrameworkElement == null) { return; } DebugMethodName(2); foreach (var listener in _listeners) { if (listener.HandlesDoubleTapped && UwpTapEventArgs.FireDoubleTapped(FrameworkElement, e, _numberOfTaps, listener)) { break; } } _longPressing = false; }
private void OnTapped(object sender, TappedRoutedEventArgs e) { if (!_xfElement.IsVisible || FrameworkElement == null) { return; } DebugMethodName(2); long elapsed = 0; if (_holdTimer != null) { elapsed = _holdTimer.ElapsedMilliseconds; _holdTimer?.Stop(); _holdTimer = null; } _releaseTimer?.Stop(); _releaseTimer = new Stopwatch(); _releaseTimer.Start(); if (!_runningTapCounterResetter) { _runningTapCounterResetter = true; Device.StartTimer(TimeSpan.FromSeconds(1), () => { if (_releaseTimer == null || _releaseTimer.ElapsedMilliseconds > 750) { _numberOfTaps = 0; _releaseTimer?.Stop(); _releaseTimer = null; _runningTapCounterResetter = false; } return(_runningTapCounterResetter); }); } foreach (var listener in _listeners) { if (listener.HandlesTapped && UwpTapEventArgs.FireTapped(FrameworkElement, e, _numberOfTaps, listener)) { break; } } foreach (var listener in _listeners) { if (_longPressing && listener.HandlesLongPressed && UwpLongPressEventArgs.FireLongPressed(FrameworkElement, e, elapsed, listener)) { break; } } foreach (var listener in _listeners) { if (listener.HandlesDown && UwpDownUpArgs.FireUp(FrameworkElement, e, listener)) { break; } } _longPressing = false; }