private static bool Run(Storyboard storyboard, ChartSeries series, Action completed = null) { if (storyboard.Children.Count == 0) { return(false); } storyboard.Completed += (s, e) => { storyboard.Stop(); lock (locker) { int count = (int)series.GetValue(ChartAnimationUtilities.RunningAnimationsCountProperty); count--; series.SetValue(ChartAnimationUtilities.RunningAnimationsCountProperty, count); } if (completed != null) { completed(); } }; storyboard.Begin(); lock (locker) { int count = (int)series.GetValue(ChartAnimationUtilities.RunningAnimationsCountProperty); count++; series.SetValue(ChartAnimationUtilities.RunningAnimationsCountProperty, count); } return(true); }
private static bool Run(Storyboard storyboard, ChartSeries series, Action completed = null) { if (storyboard.Children.Count == 0) { return false; } storyboard.Completed += (s, e) => { storyboard.Stop(); lock (locker) { int count = (int)series.GetValue(ChartAnimationUtilities.RunningAnimationsCountProperty); count--; series.SetValue(ChartAnimationUtilities.RunningAnimationsCountProperty, count); } if (completed != null) { completed(); } }; storyboard.Begin(); lock (locker) { int count = (int)series.GetValue(ChartAnimationUtilities.RunningAnimationsCountProperty); count++; series.SetValue(ChartAnimationUtilities.RunningAnimationsCountProperty, count); } return true; }