using Avalonia.Input; using Avalonia.Interactivity; namespace Avalonia.Xaml.Interactions.Events; /// /// /// public abstract class PointerWheelChangedEventBehavior : InteractiveBehaviorBase { static PointerWheelChangedEventBehavior() { RoutingStrategiesProperty.OverrideMetadata( new StyledPropertyMetadata( defaultValue: RoutingStrategies.Tunnel | RoutingStrategies.Bubble)); } /// protected override void OnAttachedToVisualTree() { AssociatedObject?.AddHandler(InputElement.PointerWheelChangedEvent, PointerWheelChanged, RoutingStrategies); } /// protected override void OnDetachedFromVisualTree() { AssociatedObject?.RemoveHandler(InputElement.PointerWheelChangedEvent, PointerWheelChanged); } private void PointerWheelChanged(object? sender, PointerWheelEventArgs e) { OnPointerWheelChanged(sender, e); } /// /// /// /// /// protected virtual void OnPointerWheelChanged(object? sender, PointerWheelEventArgs e) { } }