From c8fd7955742a1adf1ef092ab544e422413277639 Mon Sep 17 00:00:00 2001 From: Mahdi Hosseini Date: Thu, 28 Nov 2019 16:24:10 +0330 Subject: [PATCH 1/3] Fixed #184 --- .../Animation/GeometryAnimationUsingKeyFrames.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimationUsingKeyFrames.cs b/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimationUsingKeyFrames.cs index fbfc8787..73752b24 100644 --- a/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimationUsingKeyFrames.cs +++ b/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimationUsingKeyFrames.cs @@ -38,7 +38,15 @@ namespace HandyControl.Media.Animation private bool _areKeyTimesValid; - public GeometryAnimationUsingKeyFrames() => _areKeyTimesValid = true; + public GeometryAnimationUsingKeyFrames() + { + var currentCulture = System.Threading.Thread.CurrentThread.CurrentCulture.Parent.Name; + if (!currentCulture.Equals("en", StringComparison.OrdinalIgnoreCase)) + { + System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US"); + } + _areKeyTimesValid = true; + } public new GeometryAnimationUsingKeyFrames Clone() => (GeometryAnimationUsingKeyFrames)base.Clone(); @@ -516,4 +524,4 @@ namespace HandyControl.Media.Animation while (index < maxKeyFrameIndex); } } -} \ No newline at end of file +} From ca344f5a717eae4d7480d43b3c3dc86c47954fd3 Mon Sep 17 00:00:00 2001 From: Mahdi Date: Thu, 28 Nov 2019 20:29:19 +0330 Subject: [PATCH 2/3] fix --- .../Media/Animation/GeometryAnimation.cs | 2 +- .../Media/Animation/GeometryAnimationUsingKeyFrames.cs | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimation.cs b/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimation.cs index 9ae41362..91affe56 100644 --- a/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimation.cs +++ b/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimation.cs @@ -20,7 +20,7 @@ namespace HandyControl.Media.Animation public GeometryAnimation() { - + System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; } public GeometryAnimation(string fromValue, string toValue) : this() diff --git a/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimationUsingKeyFrames.cs b/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimationUsingKeyFrames.cs index 73752b24..b26ecb17 100644 --- a/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimationUsingKeyFrames.cs +++ b/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimationUsingKeyFrames.cs @@ -40,11 +40,7 @@ namespace HandyControl.Media.Animation public GeometryAnimationUsingKeyFrames() { - var currentCulture = System.Threading.Thread.CurrentThread.CurrentCulture.Parent.Name; - if (!currentCulture.Equals("en", StringComparison.OrdinalIgnoreCase)) - { - System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US"); - } + System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; _areKeyTimesValid = true; } From c8071f98bd98bab87435d54bde9e24bd695c08c4 Mon Sep 17 00:00:00 2001 From: NaBian <836904362@qq.com> Date: Fri, 29 Nov 2019 22:16:59 +0800 Subject: [PATCH 3/3] move codes to parent class ctor --- .../Media/Animation/GeometryAnimation.cs | 4 ++-- .../Media/Animation/GeometryAnimationBase.cs | 7 +++++++ .../Media/Animation/GeometryAnimationUsingKeyFrames.cs | 2 -- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimation.cs b/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimation.cs index 91affe56..3c9d7f3e 100644 --- a/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimation.cs +++ b/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimation.cs @@ -4,8 +4,8 @@ using System.Windows; using System.Windows.Media; using System.Windows.Media.Animation; using HandyControl.Tools; -// ReSharper disable PossibleInvalidOperationException +// ReSharper disable PossibleInvalidOperationException namespace HandyControl.Media.Animation { public class GeometryAnimation : GeometryAnimationBase @@ -20,7 +20,7 @@ namespace HandyControl.Media.Animation public GeometryAnimation() { - System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; + } public GeometryAnimation(string fromValue, string toValue) : this() diff --git a/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimationBase.cs b/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimationBase.cs index eee8c262..630c8257 100644 --- a/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimationBase.cs +++ b/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimationBase.cs @@ -1,4 +1,6 @@ using System; +using System.Globalization; +using System.Threading; using System.Windows.Media; using System.Windows.Media.Animation; @@ -6,6 +8,11 @@ namespace HandyControl.Media.Animation { public abstract class GeometryAnimationBase : AnimationTimeline { + protected GeometryAnimationBase() + { + Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; + } + public new GeometryAnimationBase Clone() => (GeometryAnimationBase)base.Clone(); public sealed override object GetCurrentValue(object defaultOriginValue, object defaultDestinationValue, AnimationClock animationClock) diff --git a/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimationUsingKeyFrames.cs b/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimationUsingKeyFrames.cs index b26ecb17..c58a8c3e 100644 --- a/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimationUsingKeyFrames.cs +++ b/src/Shared/HandyControl_Shared/Media/Animation/GeometryAnimationUsingKeyFrames.cs @@ -11,7 +11,6 @@ using System.Windows.Media.Animation; using HandyControl.Tools; // ReSharper disable PossibleInvalidOperationException - namespace HandyControl.Media.Animation { [ContentProperty("KeyFrames")] @@ -40,7 +39,6 @@ namespace HandyControl.Media.Animation public GeometryAnimationUsingKeyFrames() { - System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; _areKeyTimesValid = true; }