繁体   English   中英

在代码后面应用缓动 function 到 animation

[英]Apply easing function to animation behind code

我设法在代码后面构建了我的 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# 应用缓动功能?

我发现用代码构建 storyboard 很有用的原因是因为我将相同的 animation 应用于多个对象,有时当我在 XAML 中绑定目标属性时它不起作用。

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

缓动函数和缓动模式是有区别的。

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

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

在您的情况下添加缓动 function 的一种简单方法是将其添加到双 animation 中。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM