private bool MouseWheel(IMouseDevice device, IInputRoot root, Point p, Vector delta, InputModifiers inputModifiers) { var hit = HitTest(root, p); if (hit != null) { var source = GetSource(hit); var e = new PointerWheelEventArgs { Device = this, RoutedEvent = InputElement.PointerWheelChangedEvent, Source = source, Delta = delta, InputModifiers = inputModifiers }; source?.RaiseEvent(e); return(e.Handled); } return(false); }
/// <summary> /// Called before the <see cref="PointerWheelChanged"/> event occurs. /// </summary> /// <param name="e">The event args.</param> protected virtual void OnPointerWheelChanged(PointerWheelEventArgs e) { }
/// <inheritdoc/> protected override void OnPointerWheelChanged(PointerWheelEventArgs e) { if (Extent.Height > Viewport.Height) { var y = Offset.Y + (-e.Delta.Y * 50); y = Math.Max(y, 0); y = Math.Min(y, Extent.Height - Viewport.Height); Offset = new Vector(Offset.X, y); e.Handled = true; } }
private bool MouseWheel(IMouseDevice device, IInputRoot root, Point p, Vector delta, InputModifiers inputModifiers) { var hit = HitTest(root, p); if (hit != null) { var source = GetSource(hit); var e = new PointerWheelEventArgs { Device = this, RoutedEvent = InputElement.PointerWheelChangedEvent, Source = source, Delta = delta, InputModifiers = inputModifiers }; source?.RaiseEvent(e); return e.Handled; } return false; }