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(); }