如何在wpf中平滑地转换控件?

时间:2015-09-03 15:14:50

标签: c# wpf

我使用以下代码翻译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曲线效果一样。怎么做?

2 个答案:

答案 0 :(得分:2)

设置DoubleAnimation的EasingFunction属性,例如CubicEase设置为EasingMode的{​​{1}}:

EaseInOut

答案 1 :(得分:0)

您必须使用DoubleAnimationUsingKeyFrames结合本文所述的SplineDoubleKeyFrame

https://msdn.microsoft.com/en-us/library/windows/apps/xaml/jj819806.aspx