From 1212e2444769f76c60c75b8b06e4988fcdae7ff3 Mon Sep 17 00:00:00 2001 From: Jumar Macato Date: Sun, 24 Nov 2019 15:45:31 +0800 Subject: [PATCH] Hackfix for #3284 --- src/Avalonia.Controls/Primitives/RangeBase.cs | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/Avalonia.Controls/Primitives/RangeBase.cs b/src/Avalonia.Controls/Primitives/RangeBase.cs index f1ee7c0e1a..39d00b6953 100644 --- a/src/Avalonia.Controls/Primitives/RangeBase.cs +++ b/src/Avalonia.Controls/Primitives/RangeBase.cs @@ -75,8 +75,11 @@ namespace Avalonia.Controls.Primitives set { - ValidateDouble(value, "Minimum"); - + if (!ValidateDouble(value)) + { + value = _minimum; + } + if (IsInitialized) { SetAndRaise(MinimumProperty, ref _minimum, value); @@ -102,7 +105,10 @@ namespace Avalonia.Controls.Primitives set { - ValidateDouble(value, "Maximum"); + if (!ValidateDouble(value)) + { + value = _maximum; + } if (IsInitialized) { @@ -129,7 +135,10 @@ namespace Avalonia.Controls.Primitives set { - ValidateDouble(value, "Value"); + if (!ValidateDouble(value)) + { + value = default; + } if (IsInitialized) { @@ -167,13 +176,9 @@ namespace Avalonia.Controls.Primitives /// Throws an exception if the double value is NaN or Inf. /// /// The value. - /// The name of the property being set. - private static void ValidateDouble(double value, string property) + private static bool ValidateDouble(double value) { - if (double.IsInfinity(value) || double.IsNaN(value)) - { - throw new ArgumentException($"{value} is not a valid value for {property}."); - } + return (!double.IsInfinity(value) || !double.IsNaN(value)); } ///