WPF 中的闪亮之星
Shining star in WPF
我的节目中有一颗星星:
<Grid>
<Path Name="starPath" Fill="White" StrokeThickness="1" Stroke="White"
Data="M 127,37 L 104,105 L 34,105 L 91,150 L 69,218 L 127,176 L 187,218 L 164,150 L 223,105 L 151,105 L 127,37">
</Path>
</Grid>
我想要星星变亮,点亮和熄灭慢慢地并永远重复这个,通过动画改变路径笔划的颜色。
我使用了这个代码,缓慢点亮但快速熄灭并重复:
ColorAnimation animation;
animation = new ColorAnimation();
this.starPath.Stroke = new SolidColorBrush(Colors.Transparent);
animation.To = Colors.White;
animation.Duration = new Duration(TimeSpan.FromMilliseconds(900));
animation.RepeatBehavior = RepeatBehavior.Forever;
this.starPath.Stroke.BeginAnimation(SolidColorBrush.ColorProperty, animation);
星星怎么慢慢熄灭?
只需添加这一行:
animation.AutoReverse = true;
这会导致动画 运行 在另一个方向再次从头开始重复。
如果你想要反向的其他参数(即持续时间),你可以使用一个Storyboard
,看这个例子:
WPF how to easily chain animations in code behind?
我的节目中有一颗星星:
<Grid>
<Path Name="starPath" Fill="White" StrokeThickness="1" Stroke="White"
Data="M 127,37 L 104,105 L 34,105 L 91,150 L 69,218 L 127,176 L 187,218 L 164,150 L 223,105 L 151,105 L 127,37">
</Path>
</Grid>
我想要星星变亮,点亮和熄灭慢慢地并永远重复这个,通过动画改变路径笔划的颜色。
我使用了这个代码,缓慢点亮但快速熄灭并重复:
ColorAnimation animation;
animation = new ColorAnimation();
this.starPath.Stroke = new SolidColorBrush(Colors.Transparent);
animation.To = Colors.White;
animation.Duration = new Duration(TimeSpan.FromMilliseconds(900));
animation.RepeatBehavior = RepeatBehavior.Forever;
this.starPath.Stroke.BeginAnimation(SolidColorBrush.ColorProperty, animation);
星星怎么慢慢熄灭?
只需添加这一行:
animation.AutoReverse = true;
这会导致动画 运行 在另一个方向再次从头开始重复。
如果你想要反向的其他参数(即持续时间),你可以使用一个Storyboard
,看这个例子:
WPF how to easily chain animations in code behind?