Пример #1
0
        /// <summary>
        /// Slides the element in with translate transform
        /// </summary>
        /// <param name="element">The element.</param>
        /// <param name="direction">The direction.</param>
        /// <param name="duration">The duration.</param>
        /// <param name="startOffset">The start offset.</param>
        /// <param name="easing">The easing.</param>
        /// <param name="completedCallback">The completed callback.</param>
        public static void SlideIn(UIElement element, SlideFromDirection direction, TimeSpan duration, double startOffset, IEasingFunction easing, Action completedCallback = null)
        {
            if (element == null)
            {
                return;
            }

            var da = new DoubleAnimation();

            da.Duration       = duration;
            da.EasingFunction = easing;
            da.To             = 0;
            if (completedCallback != null)
            {
                da.Completed += (s, e) =>
                {
                    completedCallback();
                };
            }

            TranslateTransform transform = FindOrCreateRenderXform(element);

            switch (direction)
            {
            case SlideFromDirection.Top:
                da.From = -startOffset;
                transform.BeginAnimation(TranslateTransform.YProperty, da);
                break;

            case SlideFromDirection.Left:
                da.From = -startOffset;
                transform.BeginAnimation(TranslateTransform.XProperty, da);
                break;

            case SlideFromDirection.Right:
                da.From = startOffset;
                transform.BeginAnimation(TranslateTransform.XProperty, da);
                break;

            case SlideFromDirection.Bottom:
                da.From = startOffset;
                transform.BeginAnimation(TranslateTransform.YProperty, da);
                break;
            }
        }
Пример #2
0
        /// <summary>
        /// Slides the element in with translate transform
        /// </summary>
        /// <param name="element">The element.</param>
        /// <param name="direction">The direction.</param>
        /// <param name="duration">The duration.</param>
        /// <param name="startOffset">The start offset.</param>
        /// <param name="easing">The easing.</param>
        /// <param name="completedCallback">The completed callback.</param>
        public static void SlideIn(UIElement element, SlideFromDirection direction, TimeSpan duration, double startOffset, IEasingFunction easing, Action completedCallback = null)
        {
            if (element == null) { return; }

            var da = new DoubleAnimation();
            da.Duration = duration;
            da.EasingFunction = easing;
            da.To = 0;
            if (completedCallback != null)
            {
                da.Completed += (s, e) =>
                {
                    completedCallback();
                };
            }

            TranslateTransform transform = FindOrCreateRenderXform(element);
            switch (direction)
            {
                case SlideFromDirection.Top:
                    da.From = -startOffset;
                    transform.BeginAnimation(TranslateTransform.YProperty, da);
                    break;
                case SlideFromDirection.Left:
                    da.From = -startOffset;
                    transform.BeginAnimation(TranslateTransform.XProperty, da);
                    break;
                case SlideFromDirection.Right:
                    da.From = startOffset;
                    transform.BeginAnimation(TranslateTransform.XProperty, da);
                    break;
                case SlideFromDirection.Bottom:
                    da.From = startOffset;
                    transform.BeginAnimation(TranslateTransform.YProperty, da);
                    break;
            }
        }
Пример #3
0
 /// <summary>
 /// Slides the element in with translate transform.
 /// </summary>
 /// <param name="element">The element.</param>
 /// <param name="direction">The direction.</param>
 /// <param name="duration">The duration.</param>
 /// <param name="startOffset">The start offset.</param>
 public static void SlideIn(UIElement element, SlideFromDirection direction, TimeSpan duration, double startOffset)
 {
     SlideIn(element, direction, duration, startOffset, TypicalEasing);
 }
Пример #4
0
 /// <summary>
 /// Slides the element in with translate transform.
 /// </summary>
 /// <param name="element">The element.</param>
 /// <param name="direction">The direction.</param>
 /// <param name="duration">The duration.</param>
 /// <param name="startOffset">The start offset.</param>
 public static void SlideIn(UIElement element, SlideFromDirection direction, TimeSpan duration, double startOffset)
 {
     SlideIn(element, direction, duration, startOffset, TypicalEasing);
 }