private void ResetStoryboard(double width, bool removeOldStoryboard) { DoubleKeyFrame item; DoubleKeyFrame doubleKeyFrame; DoubleKeyFrame item1; if (!base.IsIndeterminate) { return; } lock (this.lockme) { double num = this.CalcContainerAnimStart(width); double num1 = this.CalcContainerAnimEnd(width); double num2 = this.CalcEllipseAnimWell(width); double num3 = this.CalcEllipseAnimEnd(width); try { VisualState indeterminate = this.GetIndeterminate(); if (indeterminate != null && this.indeterminateStoryboard != null) { Storyboard storyboard = this.indeterminateStoryboard.Clone(); Timeline timeline = storyboard.Children.First <Timeline>((Timeline t) => t.Name == "MainDoubleAnim"); timeline.SetValue(DoubleAnimation.FromProperty, num); timeline.SetValue(DoubleAnimation.ToProperty, num1); string[] strArrays = new string[] { "E1", "E2", "E3", "E4", "E5" }; for (int i = 0; i < (int)strArrays.Length; i++) { string str = strArrays[i]; DoubleAnimationUsingKeyFrames doubleAnimationUsingKeyFrame = (DoubleAnimationUsingKeyFrames)storyboard.Children.First <Timeline>((Timeline t) => t.Name == string.Concat(str, "Anim")); if (str != "E1") { item = doubleAnimationUsingKeyFrame.KeyFrames[2]; doubleKeyFrame = doubleAnimationUsingKeyFrame.KeyFrames[3]; item1 = doubleAnimationUsingKeyFrame.KeyFrames[4]; } else { item = doubleAnimationUsingKeyFrame.KeyFrames[1]; doubleKeyFrame = doubleAnimationUsingKeyFrame.KeyFrames[2]; item1 = doubleAnimationUsingKeyFrame.KeyFrames[3]; } item.Value = num2; doubleKeyFrame.Value = num2; item1.Value = num3; item.InvalidateProperty(DoubleKeyFrame.ValueProperty); doubleKeyFrame.InvalidateProperty(DoubleKeyFrame.ValueProperty); item1.InvalidateProperty(DoubleKeyFrame.ValueProperty); doubleAnimationUsingKeyFrame.InvalidateProperty(Storyboard.TargetPropertyProperty); doubleAnimationUsingKeyFrame.InvalidateProperty(Storyboard.TargetNameProperty); } FrameworkElement templateChild = (FrameworkElement)base.GetTemplateChild("ContainingGrid"); if (removeOldStoryboard && indeterminate.Storyboard != null) { indeterminate.Storyboard.Stop(templateChild); indeterminate.Storyboard.Remove(templateChild); } indeterminate.Storyboard = storyboard; if (indeterminate.Storyboard != null) { indeterminate.Storyboard.Begin(templateChild, true); } } } catch (Exception exception) { } } }
private void ResetStoryboard(double width) { lock (this) { double num = this.CalcContainerAnimStart(width); double num2 = this.CalcContainerAnimEnd(width); double num3 = this.CalcEllipseAnimWell(width); double num4 = this.CalcEllipseAnimEnd(width); try { VisualState indeterminate = this.GetIndeterminate(); if (indeterminate != null) { Storyboard storyboard = indeterminate.Storyboard.Clone(); Timeline timeline = storyboard.Children.First <Timeline>(t => t.Name == "MainDoubleAnim"); timeline.SetValue(DoubleAnimation.FromProperty, num); timeline.SetValue(DoubleAnimation.ToProperty, num2); string[] strArray3 = new string[] { "E1", "E2", "E3", "E4", "E5" }; for (int i = 0; i < strArray3.Length; i++) { DoubleKeyFrame frame; DoubleKeyFrame frame2; DoubleKeyFrame frame3; Func <Timeline, bool> predicate = null; string elemName = strArray3[i]; if (predicate == null) { predicate = t => t.Name == (elemName + "Anim"); } DoubleAnimationUsingKeyFrames frames = (DoubleAnimationUsingKeyFrames)storyboard.Children.First <Timeline>(predicate); if (elemName == "E1") { frame = frames.KeyFrames[1]; frame2 = frames.KeyFrames[2]; frame3 = frames.KeyFrames[3]; } else { frame = frames.KeyFrames[2]; frame2 = frames.KeyFrames[3]; frame3 = frames.KeyFrames[4]; } frame.Value = num3; frame2.Value = num3; frame3.Value = num4; frame.InvalidateProperty(DoubleKeyFrame.ValueProperty); frame2.InvalidateProperty(DoubleKeyFrame.ValueProperty); frame3.InvalidateProperty(DoubleKeyFrame.ValueProperty); frames.InvalidateProperty(Storyboard.TargetPropertyProperty); frames.InvalidateProperty(Storyboard.TargetNameProperty); } indeterminate.Storyboard.Remove(); indeterminate.Storyboard = storyboard; if (base.IsIndeterminate) { indeterminate.Storyboard.Begin((FrameworkElement)base.GetTemplateChild("ContainingGrid"), true); } } } catch (Exception) { } } }