diff --git a/src/Avalonia.Controls/Slider.cs b/src/Avalonia.Controls/Slider.cs
index fe4b24099f..74de33529a 100644
--- a/src/Avalonia.Controls/Slider.cs
+++ b/src/Avalonia.Controls/Slider.cs
@@ -11,7 +11,6 @@ using Avalonia.Utilities;
namespace Avalonia.Controls
{
-
///
/// Enum which describes how to position the ticks in a .
///
@@ -84,6 +83,9 @@ namespace Avalonia.Controls
private IDisposable _increaseButtonSubscription;
private IDisposable _increaseButtonReleaseDispose;
private IDisposable _pointerMovedDispose;
+ private IDisposable _trackOnKeyDownDispose;
+
+ private const double Tolerance = 0.0001;
///
/// Initializes static members of the class.
@@ -95,7 +97,7 @@ namespace Avalonia.Controls
Thumb.DragStartedEvent.AddClassHandler((x, e) => x.OnThumbDragStarted(e), RoutingStrategies.Bubble);
Thumb.DragCompletedEvent.AddClassHandler((x, e) => x.OnThumbDragCompleted(e),
RoutingStrategies.Bubble);
-
+
ValueProperty.OverrideMetadata(new DirectPropertyMetadata(enableDataValidation: true));
}
@@ -157,13 +159,14 @@ namespace Avalonia.Controls
protected override void OnApplyTemplate(TemplateAppliedEventArgs e)
{
base.OnApplyTemplate(e);
-
+
_decreaseButtonPressDispose?.Dispose();
_decreaseButtonReleaseDispose?.Dispose();
_increaseButtonSubscription?.Dispose();
_increaseButtonReleaseDispose?.Dispose();
_pointerMovedDispose?.Dispose();
-
+ _trackOnKeyDownDispose?.Dispose();
+
_decreaseButton = e.NameScope.Find