我使用以下代码翻译wpf中的控件:
TranslateTransform trans = new TranslateTransform();
Studio.RenderTransform = trans;
DoubleAnimation anim1 = new DoubleAnimation(0, final_point-initial_point, TimeSpan.FromSeconds(2));
trans.BeginAnimation(TranslateTransform.XProperty, anim1);
然而,这只是线性平移,它始终具有相同的速度。我希望它开始缓慢,然后加速,最后在目的地之前再次减速,就像Bezier曲线效果一样。怎么做?
答案 0 :(得分:2)
设置DoubleAnimation的EasingFunction
属性,例如CubicEase
设置为EasingMode
的{{1}}:
EaseInOut
答案 1 :(得分:0)
您必须使用DoubleAnimationUsingKeyFrames
结合本文所述的SplineDoubleKeyFrame
:
https://msdn.microsoft.com/en-us/library/windows/apps/xaml/jj819806.aspx