コード例 #1
0
        public void AnimateVertexBackward(VertexControl target)
        {
            var transform = CustomHelper.GetScaleTransform(target);

            if (transform == null)
            {
                target.RenderTransform = new ScaleTransform();
                transform = target.RenderTransform as ScaleTransform;
                if (CenterScale)
                {
                    target.RenderTransformOrigin = new Point(.5, .5);
                }
                else
                {
                    target.RenderTransformOrigin = new Point(0, 0);
                }
                return; //no need to back cause default already
            }

            if (transform.ScaleX <= 1 || transform.ScaleY <= 1)
            {
                return;
            }

            DoubleAnimation scaleAnimation =
                new DoubleAnimation(transform.ScaleX, 1, new Duration(TimeSpan.FromSeconds(Duration)));

            transform.BeginAnimation(ScaleTransform.ScaleXProperty, scaleAnimation);
            transform.BeginAnimation(ScaleTransform.ScaleYProperty, scaleAnimation);
        }
コード例 #2
0
        public void AnimateVertex(VertexControl target)
        {
            //get scale transform or create new one
            var transform = CustomHelper.GetScaleTransform(target);

            if (transform == null)
            {
                target.RenderTransform = new ScaleTransform();
                transform = target.RenderTransform as ScaleTransform;
                if (Centered)
                {
                    target.RenderTransformOrigin = new Point(.5, .5);
                }
                else
                {
                    target.RenderTransformOrigin = new Point(0, 0);
                }
            }
            //create and run animation
            var scaleAnimation =
                new DoubleAnimation(1, 0, new Duration(TimeSpan.FromSeconds(Duration)));

            scaleAnimation.Completed += (sender, e) => { OnCompleted(target as IGraphControl); };
            transform.BeginAnimation(ScaleTransform.ScaleXProperty, scaleAnimation);
            transform.BeginAnimation(ScaleTransform.ScaleYProperty, scaleAnimation);
        }
コード例 #3
0
        public void AnimateVertexForward(VertexControl target)
        {
            var transform = CustomHelper.GetScaleTransform(target);

            if (transform == null)
            {
                target.RenderTransform = new ScaleTransform();
                transform = target.RenderTransform as ScaleTransform;
                target.RenderTransformOrigin = CenterScale ? new Point(.5, .5) : new Point(0, 0);
            }

#if WPF
            var scaleAnimation = new DoubleAnimation(1, ScaleTo, new Duration(TimeSpan.FromSeconds(Duration)));
            transform.BeginAnimation(ScaleTransform.ScaleXProperty, scaleAnimation);
            transform.BeginAnimation(ScaleTransform.ScaleYProperty, scaleAnimation);
#elif METRO
            var sb             = new Storyboard();
            var scaleAnimation = new DoubleAnimation {
                Duration = new Duration(TimeSpan.FromSeconds(Duration)), From = 1, To = ScaleTo
            };
            Storyboard.SetTarget(scaleAnimation, target);
            Storyboard.SetTargetProperty(scaleAnimation, "(UIElement.RenderTransform).(CompositeTransform.ScaleX)");
            sb.Children.Add(scaleAnimation);
            scaleAnimation = new DoubleAnimation {
                Duration = new Duration(TimeSpan.FromSeconds(Duration)), From = 1, To = ScaleTo
            };
            Storyboard.SetTarget(scaleAnimation, target);
            Storyboard.SetTargetProperty(scaleAnimation, "(UIElement.RenderTransform).(CompositeTransform.ScaleY)");
            sb.Children.Add(scaleAnimation);
            sb.Begin();
#else
            throw new NotImplementedException();
#endif
        }
コード例 #4
0
        public void AnimateVertex(VertexControl target, bool removeDataVertex = false)
        {
            //get scale transform or create new one
            var transform = CustomHelper.GetScaleTransform(target);

            if (transform == null)
            {
                target.RenderTransform = new ScaleTransform();
                transform = target.RenderTransform as ScaleTransform;
                target.RenderTransformOrigin = Centered ? new Point(.5, .5) : new Point(0, 0);
            }
            //create and run animation
#if WPF
            var scaleAnimation = new DoubleAnimation(1, 0, new Duration(TimeSpan.FromSeconds(Duration)));
            Timeline.SetDesiredFrameRate(scaleAnimation, 30);
            scaleAnimation.Completed += (sender, e) => OnCompleted(target, removeDataVertex);
            transform.BeginAnimation(ScaleTransform.ScaleXProperty, scaleAnimation);
            transform.BeginAnimation(ScaleTransform.ScaleYProperty, scaleAnimation);
#elif METRO
            var sb = new Storyboard();
            //create and run animation
            var scaleAnimation = new DoubleAnimation {
                Duration = new Duration(TimeSpan.FromSeconds(Duration)), From = 1, To = 0
            };
            scaleAnimation.SetDesiredFrameRate(30);
            //scaleAnimation.Completed += (sender, e) => OnCompleted(target as IGraphControl, removeDataVertex);
            Storyboard.SetTarget(scaleAnimation, target);
            Storyboard.SetTargetProperty(scaleAnimation, "(UIElement.RenderTransform).(CompositeTransform.ScaleX)");
            sb.Children.Add(scaleAnimation);

            scaleAnimation = new DoubleAnimation {
                Duration = new Duration(TimeSpan.FromSeconds(Duration)), From = 1, To = 0
            };
            scaleAnimation.Completed += (sender, e) => OnCompleted(target as IGraphControl, removeDataVertex);
            scaleAnimation.SetDesiredFrameRate(30);
            Storyboard.SetTarget(scaleAnimation, target);
            Storyboard.SetTargetProperty(scaleAnimation, "(UIElement.RenderTransform).(CompositeTransform.ScaleY)");
            sb.Children.Add(scaleAnimation);
            sb.Begin();
#else
            throw new NotImplementedException();
#endif
        }
コード例 #5
0
        public void AnimateVertexBackward(VertexControl target)
        {
            var transform = CustomHelper.GetScaleTransform(target);

            if (transform == null)
            {
                target.RenderTransform       = new ScaleTransform();
                target.RenderTransformOrigin = CenterScale ? new Point(.5, .5) : new Point(0, 0);
                return; //no need to back cause default already
            }

            if (transform.ScaleX <= 1 || transform.ScaleY <= 1)
            {
                return;
            }

#if WPF
            var scaleAnimation = new DoubleAnimation(transform.ScaleX, 1, new Duration(TimeSpan.FromSeconds(Duration)));
            Timeline.SetDesiredFrameRate(scaleAnimation, 30);
            transform.BeginAnimation(ScaleTransform.ScaleXProperty, scaleAnimation);
            transform.BeginAnimation(ScaleTransform.ScaleYProperty, scaleAnimation);
#elif METRO
            var sb             = new Storyboard();
            var scaleAnimation = new DoubleAnimation {
                Duration = new Duration(TimeSpan.FromSeconds(Duration)), From = transform.ScaleX, To = 1
            };
            scaleAnimation.SetDesiredFrameRate(30);
            Storyboard.SetTarget(scaleAnimation, target);
            Storyboard.SetTargetProperty(scaleAnimation, "(UIElement.RenderTransform).(CompositeTransform.ScaleX)");
            sb.Children.Add(scaleAnimation);
            scaleAnimation = new DoubleAnimation {
                Duration = new Duration(TimeSpan.FromSeconds(Duration)), From = transform.ScaleX, To = 1
            };
            scaleAnimation.SetDesiredFrameRate(30);
            Storyboard.SetTarget(scaleAnimation, target);
            Storyboard.SetTargetProperty(scaleAnimation, "(UIElement.RenderTransform).(CompositeTransform.ScaleY)");
            sb.Children.Add(scaleAnimation);
            sb.Begin();
#else
            throw new NotImplementedException();
#endif
        }
コード例 #6
0
        public void AnimateVertexForward(VertexControl target)
        {
            var transform = CustomHelper.GetScaleTransform(target);

            if (transform == null)
            {
                target.RenderTransform = new ScaleTransform();
                transform = target.RenderTransform as ScaleTransform;
                if (CenterScale)
                {
                    target.RenderTransformOrigin = new Point(.5, .5);
                }
                else
                {
                    target.RenderTransformOrigin = new Point(0, 0);
                }
            }

            var sb             = new Storyboard();
            var scaleAnimation = new DoubleAnimation {
                Duration = new Duration(TimeSpan.FromSeconds(Duration)), From = 1, To = ScaleTo
            };

            Storyboard.SetTarget(scaleAnimation, target);
            Storyboard.SetTargetProperty(scaleAnimation, "(UIElement.RenderTransform).(CompositeTransform.ScaleX)");
            sb.Children.Add(scaleAnimation);
            scaleAnimation = new DoubleAnimation {
                Duration = new Duration(TimeSpan.FromSeconds(Duration)), From = 1, To = ScaleTo
            };
            Storyboard.SetTarget(scaleAnimation, target);
            Storyboard.SetTargetProperty(scaleAnimation, "(UIElement.RenderTransform).(CompositeTransform.ScaleY)");
            sb.Children.Add(scaleAnimation);

            //transform.BeginAnimation(ScaleTransform.ScaleXProperty, scaleAnimation);
            //transform.BeginAnimation(ScaleTransform.ScaleYProperty, scaleAnimation);
            sb.Begin();
        }
コード例 #7
0
        public void AnimateVertexBackward(VertexControl target)
        {
            var transform = CustomHelper.GetScaleTransform(target);

            if (transform == null)
            {
                target.RenderTransform = new ScaleTransform();
                transform = target.RenderTransform as ScaleTransform;
                target.RenderTransformOrigin = CenterScale ? new Point(.5, .5) : new Point(0, 0);
                return; //no need to back cause default already
            }

            if (transform.ScaleX <= 1 || transform.ScaleY <= 1)
            {
                return;
            }

            var sb             = new Storyboard();
            var scaleAnimation = new DoubleAnimation {
                Duration = new Duration(TimeSpan.FromSeconds(Duration)), From = transform.ScaleX, To = 1
            };

            Storyboard.SetTarget(scaleAnimation, target);
            Storyboard.SetTargetProperty(scaleAnimation, "(UIElement.RenderTransform).(CompositeTransform.ScaleX)");
            sb.Children.Add(scaleAnimation);
            scaleAnimation = new DoubleAnimation {
                Duration = new Duration(TimeSpan.FromSeconds(Duration)), From = transform.ScaleX, To = 1
            };
            Storyboard.SetTarget(scaleAnimation, target);
            Storyboard.SetTargetProperty(scaleAnimation, "(UIElement.RenderTransform).(CompositeTransform.ScaleY)");
            sb.Children.Add(scaleAnimation);

            //transform.BeginAnimation(ScaleTransform.ScaleXProperty, scaleAnimation);
            //transform.BeginAnimation(ScaleTransform.ScaleYProperty, scaleAnimation);
            sb.Begin();
        }
コード例 #8
0
        public void AnimateVertexForward(VertexControl target)
        {
            var transform = CustomHelper.GetScaleTransform(target);

            if (transform == null)
            {
                target.RenderTransform = new ScaleTransform();
                transform = target.RenderTransform as ScaleTransform;
                if (CenterScale)
                {
                    target.RenderTransformOrigin = new Point(.5, .5);
                }
                else
                {
                    target.RenderTransformOrigin = new Point(0, 0);
                }
            }

            DoubleAnimation scaleAnimation =
                new DoubleAnimation(1, ScaleTo, new Duration(TimeSpan.FromSeconds(Duration)));

            transform.BeginAnimation(ScaleTransform.ScaleXProperty, scaleAnimation);
            transform.BeginAnimation(ScaleTransform.ScaleYProperty, scaleAnimation);
        }