protected override void OnConnected(UIElement element)
        {
            var host  = ElementCompositionPreview.GetElementVisual(element);
            var group = host.Compositor.CreateAnimationGroup();

            var step = host.Compositor.CreateStepEasingFunction();

            scale = host.Compositor.CreateVector3KeyFrameAnimation();
            scale.InsertExpressionKeyFrame(0f, "this.StartingValue");
            scale.InsertExpressionKeyFrame(0.99f, "Vector3(scalex,scaley,1f)");
            scale.InsertExpressionKeyFrame(1f, "this.FinalValue", step);
            scale.SetReferenceParameter("host", host);
            scale.SetScalarParameter("scalex", (float)ScaleX);
            scale.SetScalarParameter("scaley", (float)ScaleY);
            scale.Duration = Duration;
            scale.Target   = "Scale";

            opacity = host.Compositor.CreateScalarKeyFrameAnimation();
            opacity.InsertExpressionKeyFrame(0f, "this.StartingValue");
            opacity.InsertKeyFrame(0.99f, 0f);
            opacity.InsertKeyFrame(1f, 0f, step);
            opacity.Duration = Duration;
            opacity.Target   = "Opacity";

            group.Add(scale);
            group.Add(opacity);

            Animation = group;
        }
        protected override void OnConnected(UIElement element)
        {
            var host  = ElementCompositionPreview.GetElementVisual(element);
            var group = host.Compositor.CreateAnimationGroup();

            offset = host.Compositor.CreateVector3KeyFrameAnimation();
            offset.InsertExpressionKeyFrame(0f, "Vector3(this.StartingValue.X + offsetx,this.StartingValue.Y + offsety,this.StartingValue.Z)");
            offset.InsertExpressionKeyFrame(1f, "this.FinalValue");
            offset.SetReferenceParameter("host", host);
            offset.SetScalarParameter("offsetx", (float)OffsetX);
            offset.SetScalarParameter("offsety", (float)OffsetY);
            offset.Duration = Duration;
            offset.Target   = "Offset";

            opacity = host.Compositor.CreateScalarKeyFrameAnimation();
            opacity.InsertKeyFrame(0f, 0f);
            opacity.InsertExpressionKeyFrame(1f, "this.FinalValue");
            opacity.Duration = Duration;
            opacity.Target   = "Opacity";

            group.Add(offset);
            group.Add(opacity);

            Animation = group;
        }