diff --git a/Microsoft.Toolkit.Uwp.UI.Controls/RangeSelector/RangeSelector.cs b/Microsoft.Toolkit.Uwp.UI.Controls/RangeSelector/RangeSelector.cs
index 419a68efd8a..373db695187 100644
--- a/Microsoft.Toolkit.Uwp.UI.Controls/RangeSelector/RangeSelector.cs
+++ b/Microsoft.Toolkit.Uwp.UI.Controls/RangeSelector/RangeSelector.cs
@@ -3,6 +3,7 @@
// See the LICENSE file in the project root for more information.
using System;
+using Microsoft.Toolkit.Uwp.UI.Extensions;
using Windows.Foundation;
using Windows.System;
using Windows.UI.Xaml;
@@ -35,6 +36,7 @@ public partial class RangeSelector : Control
private const double DefaultMinimum = 0.0;
private const double DefaultMaximum = 1.0;
private const double DefaultStepFrequency = 1;
+ private static readonly TimeSpan TimeToHideToolTipOnKeyUp = TimeSpan.FromSeconds(1);
///
/// Identifies the Minimum dependency property.
@@ -61,6 +63,8 @@ public partial class RangeSelector : Control
///
public static readonly DependencyProperty StepFrequencyProperty = DependencyProperty.Register(nameof(StepFrequency), typeof(double), typeof(RangeSelector), new PropertyMetadata(DefaultStepFrequency));
+ private readonly DispatcherQueueTimer keyDebounceTimer = DispatcherQueue.GetForCurrentThread().CreateTimer();
+
private Border _outOfRangeContentContainer;
private Rectangle _activeRectangle;
private Thumb _minThumb;
@@ -247,7 +251,9 @@ private void Thumb_KeyUp(object sender, KeyRoutedEventArgs e)
case VirtualKey.Right:
if (_toolTip != null)
{
- _toolTip.Visibility = Visibility.Collapsed;
+ keyDebounceTimer.Debounce(
+ () => _toolTip.Visibility = Visibility.Collapsed,
+ TimeToHideToolTipOnKeyUp);
}
e.Handled = true;
diff --git a/Microsoft.Toolkit.Uwp.UI.Controls/RangeSelector/RangeSelector.xaml b/Microsoft.Toolkit.Uwp.UI.Controls/RangeSelector/RangeSelector.xaml
index 1aa6a1911e7..96c03241032 100644
--- a/Microsoft.Toolkit.Uwp.UI.Controls/RangeSelector/RangeSelector.xaml
+++ b/Microsoft.Toolkit.Uwp.UI.Controls/RangeSelector/RangeSelector.xaml
@@ -1,6 +1,5 @@