protected override void Invoke(object parameter)
        {
            var globalTweenHandler = App.GlobalTweenHandler;

            globalTweenHandler.ClearTweensOf(TargetElement);

            var tweens = new List <Timeline>();

            if (DoScale)
            {
                var scaleTransform = new ScaleTransform(1.0, 1.0, Anchor.Position(TargetElement).X, Anchor.Position(TargetElement).Y);
                tweens.Add(scaleTransform.Tween(x => x.ScaleX).To(TargetScaleX).In(Duration).Ease(Easing.QuadraticEaseInOut));
                tweens.Add(scaleTransform.Tween(x => x.ScaleY).To(TargetScaleY).In(Duration).Ease(Easing.QuadraticEaseInOut));
                if (DoLayoutTransform)
                {
                    TargetElement.LayoutTransform = scaleTransform;
                }
                else
                {
                    TargetElement.RenderTransform = scaleTransform;
                }
            }

            tweens.Add(TargetElement.Tween(x => x.Opacity).To(0).In(Duration));
            globalTweenHandler.Add(tweens.ToSequenceWithTarget(TargetElement));
        }
예제 #2
0
        protected override void Invoke(object parameter)
        {
            var globalTweenHandler = App.GlobalTweenHandler;

            globalTweenHandler.ClearTweensOf(TargetElement);

            TargetElement.Opacity    = 0;
            TargetElement.Visibility = Visibility.Visible;

            if (DoScale)
            {
                var tweens         = new List <Timeline>();
                var scaleTransform = new ScaleTransform(0.5, 1, Anchor.Position(TargetElement).X, Anchor.Position(TargetElement).Y);
                tweens.Add(scaleTransform.Tween(x => x.ScaleX).And(x => x.ScaleY).To(1.0).In(Duration).Ease(Easing.ExpoEaseOut));
                TargetElement.RenderTransform = scaleTransform;
                tweens.Add(TargetElement.Tween(x => x.Opacity).To(1).In(Duration).Delay(Delay));
                globalTweenHandler.Add(tweens.ToSequenceWithTarget(TargetElement));
            }
            else
            {
                globalTweenHandler.Add(TargetElement.Tween(x => x.Opacity).To(1).In(Duration).Delay(Delay));
            }

            if (DoCollapsingLayoutTransform)
            {
                var scaleTransform = new ScaleTransform(0, 1.0, Anchor.Position(TargetElement).X, Anchor.Position(TargetElement).Y);
                globalTweenHandler.Add(scaleTransform.Tween(x => x.ScaleX).To(1).In(Duration).Ease(Easing.ExpoEaseIn));
                TargetElement.LayoutTransform = scaleTransform;
            }
        }
        protected override void Invoke(object parameter)
        {
            var globalTweenHandler = App.GlobalTweenHandler;

            globalTweenHandler.ClearTweensOf(TargetElement);

            var tweens = new List <Timeline>();

            if (DoScale)
            {
                var scaleTransform = new ScaleTransform(1.0, 1.0, Anchor.Position(TargetElement).X, Anchor.Position(TargetElement).Y);
                tweens.Add(scaleTransform.Tween(x => x.ScaleX).And(x => x.ScaleY).To(0.5).In(Duration).Ease(Easing.ExpoEaseIn));
                TargetElement.RenderTransform = scaleTransform;
            }

            if (DoCollapsingLayoutTransform)
            {
                var scaleTransform = new ScaleTransform(1.0, 1.0, Anchor.Position(TargetElement).X, Anchor.Position(TargetElement).Y);
                tweens.Add(scaleTransform.Tween(x => x.ScaleX).To(0).In(Duration).Ease(Easing.ExpoEaseIn));
                TargetElement.LayoutTransform = scaleTransform;
            }

            tweens.Add(TargetElement.Tween(x => x.Opacity).To(0).In(Duration));
            globalTweenHandler.Add(tweens.ToSequenceWithTarget(TargetElement).OnComplete((sender, objects) => { TargetElement.Visibility = Visibility.Hidden; }));
        }
예제 #4
0
        protected override void Invoke(object parameter)
        {
            var globalTweenHandler = App.GlobalTweenHandler;

            globalTweenHandler.ClearTweensOf(TargetElement);

            var anchor         = Anchor.Position(TargetElement);
            var scaleTransform = new ScaleTransform(1, 1, anchor.X, anchor.Y);

            globalTweenHandler.Add(scaleTransform.Tween(x => x.ScaleX).To(0.2).In(Duration).Ease(Easing.ExpoEaseInOut));
            globalTweenHandler.Add(scaleTransform.Tween(x => x.ScaleY).To(0.7).In(Duration).Ease(Easing.ExpoEaseInOut));
            globalTweenHandler.Add(TargetElement.Tween(x => x.Opacity).To(0).In(Duration).Ease(Easing.ExpoEaseInOut));

            TargetElement.RenderTransform = scaleTransform;
        }