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 @@
+ xct:TouchEffect.NativeAnimation="True"
+ xct:TouchEffect.Command="{Binding Command, Source={x:Reference Page}}"/>
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);