示例#1
0
 void OverlayGridTimer_Tick(object sender, EventArgs e) {
     OverlayGridTimer.Stop();
     if(!ComicImage.DoubleTapOccured) {
         if(this.sender == ComicImage) {
             OverlayGrid.IsHitTestVisible = true;
             RadAnimationManager.Play(OverlayGrid, new RadFadeAnimation { StartOpacity = 0, EndOpacity = 1, Duration = new Duration(TimeSpan.FromMilliseconds(200)) });
         } else {
             var ani = new RadFadeAnimation { StartOpacity = 1, EndOpacity = 0, Duration = new Duration(TimeSpan.FromMilliseconds(200)) };
             OverlayGrid.IsHitTestVisible = false;
             RadAnimationManager.Play(OverlayGrid, ani);
         }
     }
     ComicImage.DoubleTapOccured = false;
 }
 private RadAnimation FadeOutAnimation()
 {
     var animation = new RadFadeAnimation {
         Duration = TimeSpan.FromSeconds(DurationInSecond - 0.01),
         AutoReverse = true,
         StartOpacity = 0.0,
         EndOpacity = Opacity,
         RepeatBehavior = RepeatBehavior.Forever,
     };
     return animation;
 }
        private void Animate()
        {
            animator = new SequentialAnimator();
            var itemsToAnimate = Items.ChildrenOfType<Grid>().Cast<UIElement>().ToList();
            itemsToAnimate.ForEach(i => i.Opacity = 0);
            animator.AnimationTargets = itemsToAnimate;
            animator.AnimationSequenceIndices = Enumerable.Range(0, itemsToAnimate.Count() - 1).ToArray();
            animator.TimeDelta = .06;

            RadFadeAnimation fadePrototype = new RadFadeAnimation();
            fadePrototype.Duration = new Duration(TimeSpan.FromSeconds(0.001));
            var group = new RadAnimationGroup();
            group.Children.Add(fadePrototype.Clone());
            group.Children.Add(new RadPlaneProjectionAnimation() { Easing = new ExponentialEase() { Exponent = 3, EasingMode = EasingMode.EaseIn }, CenterX = -2 });
            animator.AnimationGenerator = () => group.Clone();
            
            animator.PlayAnimation();
        }