//_leftCanvas表示控件,效果向左平移
DoubleAnimation leftAnimation = new DoubleAnimation();
leftAnimation.Duration = new Duration(TimeSpan.FromSeconds(0.25));
leftAnimation.To = -600;
leftAnimation.From = 0;
_leftCanvas.RenderTransform = new TranslateTransform();
_leftCanvas.RenderTransform.BeginAnimation(TranslateTransform.XProperty, leftAnimation);
//_rightCanvas表示控件,效果向右平移
DoubleAnimation rightAnimation = new DoubleAnimation();
rightAnimation.Duration = new Duration(TimeSpan.FromSeconds(0.25));
rightAnimation.To = 1200;
rightAnimation.From = 0;
_rightCanvas.RenderTransform = new TranslateTransform();
_rightCanvas.RenderTransform.BeginAnimation(TranslateTransform.XProperty, rightAnimation);
/*
说明:控件有一个RenderTransform属性,该属性默认值为MatrixTransform,
该值不能接受自定义的其它转换效果。例如:
RotateTransform,SkewTransform,ScaleTransform,或TranslateTransform类
所以我们在实现平移效果,应该将RenderTransform属性赋值一个TranslateTransform实例,
然后就可以利用BeginAnimation方法去执行DoubleAnimation动画,并改变TranslateTransform.XProperty属性值
*/
WPF中控件实现TranslateTransform平移
最新推荐文章于 2024-06-02 11:23:21 发布