将缓动函数应用于代码后面的动画

时间:2011-07-02 01:32:21

标签: c# wpf animation storyboard

我设法在代码后面构建我的故事板。我不知道如何添加缓动函数。我正在寻找类似的东西:

DoubleAnimation FadelnTBAnimation = new DoubleAnimation();
FadelnTBAnimation.To = 0;
FadelnTBAnimation.BeginTime = TimeSpan.FromSeconds(0);
FadelnTBAnimation.Duration = new Duration(TimeSpan.FromSeconds(1));
FadelnTBAnimation.EasingFunction = EasingMode.EaseInOut; // this line gives an error

如何使用c#应用缓动函数?

我觉得用代码构建故事板有用的原因是因为我将相同的动画应用于多个对象,有时当我在XAML中绑定目标属性时它不起作用。

4 个答案:

答案 0 :(得分:5)

您需要创建IEasingFunction(http://msdn.microsoft.com/en-us/library/system.windows.media.animation.ieasingfunction.aspx)的实例。该文档条目底部有一个实现类列表,其中最常见的可能是CubicEase或QuadraticEase。

答案 1 :(得分:4)

缓动功能和缓和模式之间存在差异。

以下是Win-8(不是WPF)的简短示例:

SineEase easingFunction = new SineEase();
easingFunction.EasingMode = EasingMode.EaseIn;
animation.EasingFunction = easingFunction;

答案 2 :(得分:1)

在你的情况下添加缓动函数的一种简单方法是将它添加到双动画中。

FadelnTBAnimation.EasingFunction = new QuarticEase(); // for example

答案 3 :(得分:0)

我在xaml中创建了一个缓动函数作为资源,然后用代码我找到了资源。 Here就是一个例子: