diff --git a/samples/XCT.Sample/Pages/Effects/TouchEffectPage.xaml b/samples/XCT.Sample/Pages/Effects/TouchEffectPage.xaml index 504762671..ea4cde37a 100644 --- a/samples/XCT.Sample/Pages/Effects/TouchEffectPage.xaml +++ b/samples/XCT.Sample/Pages/Effects/TouchEffectPage.xaml @@ -93,7 +93,8 @@ diff --git a/src/CommunityToolkit/Xamarin.CommunityToolkit/Effects/Touch/GestureManager.shared.cs b/src/CommunityToolkit/Xamarin.CommunityToolkit/Effects/Touch/GestureManager.shared.cs index dfabba48e..9a7712cf3 100644 --- a/src/CommunityToolkit/Xamarin.CommunityToolkit/Effects/Touch/GestureManager.shared.cs +++ b/src/CommunityToolkit/Xamarin.CommunityToolkit/Effects/Touch/GestureManager.shared.cs @@ -284,10 +284,10 @@ void UpdateStatusAndState(TouchEffect sender, TouchStatus status, TouchState sta void UpdateVisualState(VisualElement visualElement, TouchState touchState, HoverState hoverState) { var state = touchState == TouchState.Pressed - ? nameof(TouchState.Pressed) + ? TouchEffect.PressedVisualState : hoverState == HoverState.Hovered - ? nameof(HoverState.Hovered) - : nameof(TouchState.Normal); + ? TouchEffect.HoveredVisualState + : TouchEffect.UnpressedVisualState; VisualStateManager.GoToState(visualElement, state); } diff --git a/src/CommunityToolkit/Xamarin.CommunityToolkit/Effects/Touch/TouchEffect.shared.cs b/src/CommunityToolkit/Xamarin.CommunityToolkit/Effects/Touch/TouchEffect.shared.cs index dde4c1d87..b93588e25 100644 --- a/src/CommunityToolkit/Xamarin.CommunityToolkit/Effects/Touch/TouchEffect.shared.cs +++ b/src/CommunityToolkit/Xamarin.CommunityToolkit/Effects/Touch/TouchEffect.shared.cs @@ -9,6 +9,12 @@ namespace Xamarin.CommunityToolkit.Effects { public class TouchEffect : RoutingEffect { + public const string UnpressedVisualState = "Unpressed"; + + public const string PressedVisualState = "Pressed"; + + public const string HoveredVisualState = "Hovered"; + public event EventHandler StatusChanged { add => weakEventManager.AddEventHandler(value);