【问题标题】:Keyframe animation with WPF in multiple steps使用 WPF 的关键帧动画在多个步骤中
【发布时间】:2019-12-25 18:26:31
【问题描述】:

我想在 WPF 动画中为圆的大小设置动画:

Ellipse circle = new Ellipse();
Double finalSize = 5.0;
Double initialSize = 10.0;
DoubleAnimationUsingKeyFrames animSize = new DoubleAnimationUsingKeyFrames();
animSize.KeyFrames.Add(new DiscreteDoubleKeyFrame(initialSize, KeyTime.FromPercent(0.0)));
animSize.KeyFrames.Add(new DiscreteDoubleKeyFrame(finalSize, KeyTime.FromPercent(1.0)));
animSize.SpeedRatio = 1;
circle.BeginAnimation(Canvas.WidthProperty, animSize);
circle.BeginAnimation(Canvas.HeightProperty, animSize);

但我得到的只是第一帧和最后一帧。首先,圆的初始大小为 10,稍后它切换到 5。没有过渡,中间没有大小。

我可以将 SpeedRatio 更改为 10,例如- 但这只会改变第一帧切换到最后一帧的速度。

通过几个过渡步骤获得大小从 10 到 5 的平滑动画的秘诀是什么?

【问题讨论】:

    标签: c# wpf animation wpf-animation


    【解决方案1】:

    使用LinearDoubleKeyFrame 而不是DiscreteDoubleKeyFrame

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-30
      • 2017-05-22
      • 2017-08-14
      • 1970-01-01
      • 2016-04-08
      • 1970-01-01
      • 2013-12-27
      • 2017-06-25
      相关资源
      最近更新 更多