diff --git a/src/Avalonia.Controls/Mixins/PressedMixin.cs b/src/Avalonia.Controls/Mixins/PressedMixin.cs index 01b0a8564f..4c5792b4a0 100644 --- a/src/Avalonia.Controls/Mixins/PressedMixin.cs +++ b/src/Avalonia.Controls/Mixins/PressedMixin.cs @@ -10,6 +10,17 @@ namespace Avalonia.Controls.Mixins /// public static class PressedMixin { + /// + /// Initializes a new instance of the class. + /// + /// The control type. + public static void Attach() where TControl : Control + { + InputElement.PointerPressedEvent.AddClassHandler((x, e) => HandlePointerPressed(x, e), RoutingStrategies.Tunnel); + InputElement.PointerReleasedEvent.AddClassHandler((x, e) => HandlePointerReleased(x), RoutingStrategies.Tunnel); + InputElement.PointerCaptureLostEvent.AddClassHandler((x, e) => HandlePointerReleased(x), RoutingStrategies.Tunnel); + } + private static void HandlePointerPressed(TControl sender, PointerPressedEventArgs e) where TControl : Control { if (e.GetCurrentPoint(sender).Properties.IsLeftButtonPressed) @@ -22,12 +33,5 @@ namespace Avalonia.Controls.Mixins { ((IPseudoClasses)sender.Classes).Set(":pressed", false); } - - public static void Attach() where TControl : Control - { - InputElement.PointerPressedEvent.AddClassHandler((x, e) => HandlePointerPressed(x, e), RoutingStrategies.Tunnel, true); - InputElement.PointerReleasedEvent.AddClassHandler((x, e) => HandlePointerReleased(x), RoutingStrategies.Tunnel, true); - InputElement.PointerCaptureLostEvent.AddClassHandler((x, e) => HandlePointerReleased(x), RoutingStrategies.Tunnel, true); - } } }