Browse Source

Added `Gestures.RightTapped`.

pull/2779/head
Steven Kirk 7 years ago
parent
commit
d0a6f48015
  1. 11
      src/Avalonia.Input/Gestures.cs
  2. 17
      tests/Avalonia.Input.UnitTests/GesturesTests.cs

11
src/Avalonia.Input/Gestures.cs

@ -18,6 +18,11 @@ namespace Avalonia.Input
RoutingStrategies.Bubble,
typeof(Gestures));
public static readonly RoutedEvent<RoutedEventArgs> RightTappedEvent = RoutedEvent.Register<RoutedEventArgs>(
"RightTapped",
RoutingStrategies.Bubble,
typeof(Gestures));
public static readonly RoutedEvent<ScrollGestureEventArgs> ScrollGestureEvent =
RoutedEvent.Register<ScrollGestureEventArgs>(
"ScrollGesture", RoutingStrategies.Bubble, typeof(Gestures));
@ -62,10 +67,8 @@ namespace Avalonia.Input
if (s_lastPress?.IsAlive == true && s_lastPress.Target == e.Source)
{
if (e.MouseButton != MouseButton.Right)
{
((IInteractive)s_lastPress.Target).RaiseEvent(new RoutedEventArgs(TappedEvent));
}
var et = e.MouseButton != MouseButton.Right ? TappedEvent : RightTappedEvent;
((IInteractive)s_lastPress.Target).RaiseEvent(new RoutedEventArgs(et));
}
}
}

17
tests/Avalonia.Input.UnitTests/GesturesTests.cs

@ -81,6 +81,23 @@ namespace Avalonia.Interactivity.UnitTests
Assert.False(raised);
}
[Fact]
public void RightTapped_Should_Be_Raised_For_Right_Button()
{
Border border = new Border();
var decorator = new Decorator
{
Child = border
};
var raised = false;
decorator.AddHandler(Gestures.RightTappedEvent, (s, e) => raised = true);
_mouse.Click(border, MouseButton.Right);
Assert.True(raised);
}
[Fact]
public void DoubleTapped_Should_Follow_Pointer_Pressed_Released_Pressed()
{

Loading…
Cancel
Save