private void OnManipulationComplete(object sender, ManipulationCompletedRoutedEventArgs e) { if (!_xfElement.IsVisible || FrameworkElement == null) { return; } DebugMethodName(2); DebugMessage("Element=[" + _xfElement + "]"); PointerDeviceTypeDebugMessage(e.PointerDeviceType); PositionDebugMessage(e.Position); ManipulationDeltaDebugMessage(e.Cumulative, "Cumul"); VelocitiesDebugString(e.Velocities); DebugMessage("IsIntertial=[" + e.IsInertial + "]"); ContainerDebugMessage(e.Container); HandledDebugString(e.Handled); foreach (var listener in _listeners) { if (_panning && listener.HandlesPanning) { var args = new UwpPanEventArgs(FrameworkElement, e); args.Listener = listener; listener?.OnPanned(args); e.Handled |= args.Handled; DebugMessage("Panned tHandled=[" + e.Handled + "]"); } if (_pinching && listener.HandlesPinching) { var args = new UwpPinchEventArgs(FrameworkElement, e); args.Listener = listener; listener?.OnPinched(args); e.Handled |= args.Handled; DebugMessage("Pinched Handled=[" + e.Handled + "]"); } if (_rotating && listener.HandlesRotating) { var args = new UwpRotateEventArgs(FrameworkElement, e); args.Listener = listener; listener?.OnRotated(args); e.Handled |= args.Handled; DebugMessage("Rotated Handled=[" + e.Handled + "]"); } DebugMessage("Handled=[" + e.Handled + "] Element=[" + _xfElement + "]"); if (e.Handled) { break; } } _panning = false; _pinching = false; _rotating = false; _longPressing = false; }
private void OnManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e) { //System.Diagnostics.Debug.WriteLine(P42.Utils.ReflectionExtensions.CallerMemberName() +"("+sender+", [d:{"+e.Delta.Translation.X+","+e.Delta.Translation.Y+"} c:{"+e.Cumulative.Translation.Y+","+e.Cumulative.Translation.Y+"}])"); _longPressing = false; _holdTimer?.Stop(); _holdTimer = null; if (!_xfElement.IsVisible || FrameworkElement == null) { return; } if (!_panning && (Math.Abs(e.Cumulative.Translation.X) > 0 || Math.Abs(e.Cumulative.Translation.Y) > 0)) { _panning = true; } if (!_pinching && Math.Abs(e.Cumulative.Scale - 1) > 0) { _pinching = true; } if (!_rotating && Math.Abs(e.Cumulative.Rotation) > 0) { _rotating = true; } DebugMethodName(2); DebugMessage("Element=[" + _xfElement + "]"); PointerDeviceTypeDebugMessage(e.PointerDeviceType); PositionDebugMessage(e.Position); ManipulationDeltaDebugMessage(e.Delta, "Delta"); ManipulationDeltaDebugMessage(e.Cumulative, "Cumul"); VelocitiesDebugString(e.Velocities); DebugMessage("IsIntertial=[" + e.IsInertial + "]"); ContainerDebugMessage(e.Container); HandledDebugString(e.Handled); foreach (var listener in _listeners) { if (_panning && listener.HandlesPanning) { var args = new UwpPanEventArgs(FrameworkElement, e) { Listener = listener }; listener?.OnPanning(args); e.Handled = e.Handled || args.Handled; DebugMessage("Panning Handled=[" + e.Handled + "]"); } if (_pinching && listener.HandlesPinching) { var args = new UwpPinchEventArgs(FrameworkElement, e) { Listener = listener }; listener?.OnPinching(args); e.Handled = e.Handled || args.Handled; DebugMessage("Pinching Handled=[" + e.Handled + "]"); } if (_rotating && listener.HandlesRotating) { var args = new UwpRotateEventArgs(FrameworkElement, e) { Listener = listener }; listener?.OnRotating(args); e.Handled = e.Handled || args.Handled; DebugMessage("Rotating Handled=[" + e.Handled + "]"); } if (e.Handled) { break; } } HandledDebugString(e.Handled); }