Example #1
0
        public static Thickness SlidePosToThickness(SlidePositions position, double offset)
        {
            Thickness result;

            switch (position)
            {
            case SlidePositions.Left:
                result = new Thickness(-offset, 0, offset, 0);
                break;

            case SlidePositions.Top:
                result = new Thickness(0, -offset, 0, offset);
                break;

            case SlidePositions.Right:
                // result = new Thickness(0, 0, -offset, 0);
                result = new Thickness(offset, 0, -offset, 0);
                break;

            case SlidePositions.Bottom:
                result = new Thickness(0, offset, 0, -offset);
                break;

            case SlidePositions.Center:
            default:
                result = new Thickness(0, 0, 0, 0);
                break;
            }

            return(result);
        }
Example #2
0
 private static double OffsetGenerator(SlidePositions pos, double offset)
 {
     if (pos == SlidePositions.Center)
     {
         return(0);
     }
     else
     {
         return(offset);
     }
 }
Example #3
0
        public static void AddSlide(this Storyboard storyboard, SlidePositions start, SlidePositions end, float seconds, double start_offset, double end_offset)
        {
            var animation = new ThicknessAnimation
            {
                Duration          = new Duration(TimeSpan.FromSeconds(seconds)),
                From              = SlidePosToThickness(start, start_offset),
                To                = SlidePosToThickness(end, end_offset),
                DecelerationRatio = 0.9f
            };

            Storyboard.SetTargetProperty(animation, new PropertyPath("Margin"));
            storyboard.Children.Add(animation);
        }
Example #4
0
    {/*
      * /// <summary>
      * /// Basics page slide in / out animation.
      * /// </summary>
      * /// <param name="page"></param>
      * /// <param name="seconds"></param>
      * /// <param name="slideIn"></param>
      * /// <returns></returns>
      * public static async Task PageBasicsStartEndAnimation(this Page page, float seconds, bool slideIn, bool verticaly)
      * {
      *     var sb = new Storyboard();
      *
      *     if (verticaly)
      *         sb.AddSlideVerticaly(seconds, page.WindowHeight, slideIn, true);
      *     else
      *         sb.AddSlideHorizontaly(seconds, page.WindowHeight, slideIn, true);
      *
      *     sb.AddFadeEffect(slideIn, slideIn ? seconds : seconds/2);
      *
      *     sb.Begin(page);
      *     page.Visibility = Visibility.Visible;
      *
      *     await Task.Delay((int)(seconds * 1000));
      * }*/
        public static async Task PageBasicsAnimation(this Page page, float seconds, SlidePositions start, SlidePositions end, bool fadeIn, double distance)
        {
            var sb = new Storyboard();

            sb.AddSlide(start, end, seconds, OffsetGenerator(start, distance), OffsetGenerator(end, distance));

            sb.AddFadeEffect(fadeIn, seconds);

            sb.Begin(page);
            page.Visibility = Visibility.Visible;

            await Task.Delay((int)(seconds * 1000));
        }