LGED

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
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

posted on 2018-08-19 15:57  LGED  阅读(2896)  评论(0编辑  收藏  举报