wpf 移动动画

private void moveTo(Point deskPoint, Control ell, double space)

//deskPoint: 控件要移动到的位置 , ell :你要移动的空间 , space : 设置移动的时间片(关系到控件移动的速度)

        {  
            Point curPoint = new Point();
            curPoint.X = Canvas.GetLeft(ell);
            curPoint.Y = Canvas.GetTop(ell);


            Storyboard storyboard = new Storyboard();   //创建Storyboard对象

            double lxspeed = space, lyspeed = space; //设置X方向 / Y方向 移动时间片

           //创建X轴方向动画 

            DoubleAnimation doubleAnimation = new DoubleAnimation( 
              Canvas.GetLeft(ell), 
              deskPoint.X, 
              new Duration(TimeSpan.FromMilliseconds(lxspeed))
            );
            Storyboard.SetTarget(doubleAnimation, ell);
            Storyboard.SetTargetProperty(doubleAnimation, new PropertyPath("(Canvas.Left)"));
            storyboard.Children.Add(doubleAnimation);


            //创建Y轴方向动画 


            doubleAnimation = new DoubleAnimation(
              Canvas.GetTop(ell),
              deskPoint.Y,
              new Duration(TimeSpan.FromMilliseconds(lyspeed))
            ); 
            Storyboard.SetTarget(doubleAnimation, ell);
            Storyboard.SetTargetProperty(doubleAnimation, new PropertyPath("(Canvas.Top)")); 
            storyboard.Children.Add(doubleAnimation); 



            //动画播放 
            storyboard.Begin(); 
        }

【转】https://blog.csdn.net/chr23899/article/details/38853417

猜你喜欢

转载自www.cnblogs.com/lged/p/9501485.html
今日推荐