Exemple #1
0
        public static void BeginAnimationAngle(this UIElement element, double from, double to, double duration = 1000, Action <UIElement> Completed = null, Action <Storyboard> init = null)
        {
            var tran = element.GetTransform <RotateTransform>();

            if (tran == null)
            {
                return;
            }

            element.BegionDoubleStoryBoard(from, to, duration / 1000.0, "(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)", Completed, init);
        }
        public static void BeginAnimationAngle(this UIElement element, double toAngle, double duration = 1000)
        {
            var tran = element.GetTransform <RotateTransform>();

            if (tran == null)
            {
                return;
            }

            DoubleAnimation xd = new DoubleAnimation(toAngle, TimeSpan.FromMilliseconds(duration));

            tran.BeginAnimation(RotateTransform.AngleProperty, xd);
        }
        public static void BeginAnimationSkew(this UIElement element, double toAngleX, double toAngleY, double duration = 1000)
        {
            var tran = element.GetTransform <SkewTransform>();

            if (tran == null)
            {
                return;
            }

            DoubleAnimation d1 = new DoubleAnimation(toAngleX, TimeSpan.FromMilliseconds(duration));
            DoubleAnimation d2 = new DoubleAnimation(toAngleY, TimeSpan.FromMilliseconds(duration));

            tran.BeginAnimation(SkewTransform.AngleXProperty, d1);
            tran.BeginAnimation(SkewTransform.AngleYProperty, d2);
        }
        public static void BeginAnimationScale(this UIElement element, double scaleX, double scaleY, double duration = 1000)
        {
            var tran = element.GetTransform <ScaleTransform>();

            if (tran == null)
            {
                return;
            }

            DoubleAnimation xd = new DoubleAnimation(scaleX, TimeSpan.FromMilliseconds(duration));
            DoubleAnimation yd = new DoubleAnimation(scaleY, TimeSpan.FromMilliseconds(duration));

            tran.BeginAnimation(ScaleTransform.ScaleXProperty, xd);
            tran.BeginAnimation(ScaleTransform.ScaleYProperty, yd);
        }
        public static void BeginAnimationXY(this UIElement element, double toX, double toY, double duration = 1000)
        {
            var tran = element.GetTransform <TranslateTransform>();

            if (tran == null)
            {
                return;
            }

            DoubleAnimation xd = new DoubleAnimation(toX, TimeSpan.FromMilliseconds(duration));
            DoubleAnimation yd = new DoubleAnimation(toY, TimeSpan.FromMilliseconds(duration));

            tran.BeginAnimation(TranslateTransform.XProperty, xd);
            tran.BeginAnimation(TranslateTransform.YProperty, yd);
        }
        /// <summary>
        /// Prepares the element.
        /// </summary>
        /// <param name="element">
        /// The element.
        /// </param>
        /// <returns>
        /// The prepare element.
        /// </returns>
        private static bool PrepareElement(UIElement element)
        {
            element.GetTransform<CompositeTransform>(TransformCreationMode.CreateOrAddAndIgnoreMatrix);

            return true;
        }