123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows;
- using System.Windows.Media;
- using System.Windows.Media.Animation;
- namespace VirgoUI.Controls.Common
- {
- public class AnimationHelper
- {
- public static void TranslateX(TranslateTransform translation, int targetX, int ms, Action actionComplete = null)
- {
- var time = TimeSpan.FromMilliseconds(ms);
- var oldValue = translation.X;
- var animation = new DoubleAnimation(oldValue, targetX, time);
- animation.Completed += (s, e) =>
- {
- actionComplete?.Invoke();
- };
- translation.BeginAnimation(TranslateTransform.XProperty, animation);
- }
- public static void TranslateX(UIElement uIElement, int startX, int targetX, int ms, Action actionComplete = null)
- {
- var transform = new TranslateTransform();
- uIElement.RenderTransform = transform;
- var time = TimeSpan.FromMilliseconds(ms);
- var animation = new DoubleAnimation(startX, targetX, time);
- animation.AutoReverse = false;
- animation.Completed += (s, e) =>
- {
- actionComplete?.Invoke();
- };
- transform.BeginAnimation(TranslateTransform.XProperty, animation);
- }
- public static void TranslateY(TranslateTransform translation, int targetY, int ms, Action actionComplete = null)
- {
- var time = TimeSpan.FromMilliseconds(ms);
- var animation = new DoubleAnimation(targetY, time);
- animation.Completed += (s, e) =>
- {
- actionComplete?.Invoke();
- };
- translation.BeginAnimation(TranslateTransform.YProperty, animation);
- }
- public static void TranslateYRelative(TranslateTransform translation, int y, int ms, Action actionComplete = null)
- {
- var currentY = translation.Y;
- var time = TimeSpan.FromMilliseconds(ms);
- var animation = new DoubleAnimation(currentY + y, time);
- animation.Completed += (s, e) =>
- {
- actionComplete?.Invoke();
- };
- translation.BeginAnimation(TranslateTransform.YProperty, animation);
- }
- }
- }
|