/// <summary type="AnimationTimeline" dos="private"> /// Метод для изменения контента Lable-а /// </summary> /// <param name="delta"> Задержка между действиями. </param> /// <param name="seconds"> Текущий счётчик секунд. </param> /// <param name="label"> Ссылка на объект, который будет анимироваться. </param> /// <param name="newValue"> Новое занчение для свойства контент. </param> /// <returns> Возвращает анимационное событие типа AnimationTimeLine, привязаное к переданому Label-у. </returns> private static AnimationTimeline ChangeLabelContent(int seconds, int delta, ALabel label, string newValue) { var anim = new StringAnimationUsingKeyFrames(); anim.KeyFrames.Add(new DiscreteStringKeyFrame(newValue, TimeSpan.FromMilliseconds(seconds + delta))); Storyboard.SetTarget(anim, label); Storyboard.SetTargetProperty(anim, new PropertyPath(Label.ContentProperty)); return(anim); }
/// <summary type="AnimationTimeline" dos="private"> /// Метод для изменения цвета Lable-а /// </summary> /// <param name="newColor"> Новый цвет Label-а. </param> /// <param name="reverse"> Флаг, отвечающий должно ли действие автоматически отмениться. </param> /// <param name="delta"> Задержка между действиями. </param> /// <param name="seconds"> Текущий счётчик секунд. </param> /// <param name="label"> Ссылка на объект, который будет анимироваться. </param> /// <returns> Возвращает анимационное событие типа AnimationTimeLine, привязаное к переданому Label-у. </returns> private static AnimationTimeline RepaintLabel(int seconds, int delta, Color newColor, ALabel label, bool reverse = true) { var anim = new ColorAnimation( fromValue: Vertex.textColor, toValue: newColor, duration: TimeSpan.FromMilliseconds(delta) ); anim.AutoReverse = reverse; anim.BeginTime = TimeSpan.FromMilliseconds(seconds); Storyboard.SetTarget(anim, label); Storyboard.SetTargetProperty(anim, new PropertyPath($"({Label.ForegroundProperty}).({SolidColorBrush.ColorProperty})")); return(anim); }