【问题标题】:Apply easing function to animation behind code将缓动函数应用于代码后面的动画
【发布时间】:2011-09-27 03:06:42
【问题描述】:

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

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 中绑定目标属性时它不起作用。

【问题讨论】:

    标签: c# wpf animation storyboard


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 2018-08-01
          • 1970-01-01
          • 2012-05-26
          • 2019-06-20
          • 2020-04-08
          • 1970-01-01
          • 1970-01-01
          • 2011-10-16
          • 1970-01-01
          相关资源
          最近更新 更多