diff --git a/src/Ursa.Themes.Semi/Controls/RangeSlider.axaml b/src/Ursa.Themes.Semi/Controls/RangeSlider.axaml
index 1ab4c95..7d66251 100644
--- a/src/Ursa.Themes.Semi/Controls/RangeSlider.axaml
+++ b/src/Ursa.Themes.Semi/Controls/RangeSlider.axaml
@@ -52,6 +52,7 @@
MinimumProperty = RangeTrack.MinimumProperty.AddOwner();
public double Minimum
{
@@ -144,7 +147,7 @@ public class RangeSlider: TemplatedControl
{
var oldValue = args.OldValue.Value;
var newValue = args.NewValue.Value;
- if (oldValue != newValue)
+ if (Math.Abs(oldValue - newValue) > Tolerance)
{
RaiseEvent(new RangeValueChangedEventArgs(ValueChangedEvent, this, oldValue, newValue, isLower));
}
diff --git a/src/Ursa/Controls/RangeSlider/RangeTrack.cs b/src/Ursa/Controls/RangeSlider/RangeTrack.cs
index 7d2a48b..a5e282d 100644
--- a/src/Ursa/Controls/RangeSlider/RangeTrack.cs
+++ b/src/Ursa/Controls/RangeSlider/RangeTrack.cs
@@ -22,7 +22,9 @@ public class RangeTrack: Control
public const string PC_Vertical = ":vertical";
private double _density;
private Vector _lastDrag;
-
+
+ private const double Tolerance = 0.0001;
+
public static readonly StyledProperty MinimumProperty = AvaloniaProperty.Register(
nameof(Minimum), coerce: CoerceMinimum, defaultBindingMode:BindingMode.TwoWay);
@@ -165,7 +167,7 @@ public class RangeTrack: Control
{
var oldValue = args.OldValue.Value;
var newValue = args.NewValue.Value;
- if (oldValue != newValue)
+ if (Math.Abs(oldValue - newValue) > Tolerance)
{
RaiseEvent(new RangeValueChangedEventArgs(ValueChangedEvent, this, oldValue, newValue, isLower));
}