【发布时间】: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