3

是否可以通过动画将 Ellipse.Fill 从 LinearGradientBrush 更改为 SolidColorBrush 或更改 LinearGradientBrush 中的 gradientStops?

4

2 回答 2

3

您可以为渐变画笔的各个渐变停止设置动画(并通过将它们设置为相同的颜色,您将获得“纯色”)这是一个将渐变设置为 Panel.Background 的动画示例:

<Storyboard>
  <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).
                    (GradientBrush.GradientStops)[0].(GradientStop.Color)"
                                Storyboard.TargetName="sometarget">
    <EasingColorKeyFrame KeyTime="0"
                         Value="Blue" />
  </ColorAnimationUsingKeyFrames>
  <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Panel.Background).
                    (GradientBrush.GradientStops)[1].(GradientStop.Color)"
                                Storyboard.TargetName="sometarget">
    <EasingColorKeyFrame KeyTime="0"
                         Value="Green" />
  </ColorAnimationUsingKeyFrames>
</Storyboard>
于 2011-08-03T08:24:31.613 回答
3

也许您应该使用两个椭圆并动态更改它们的不透明度。

于 2010-10-29T08:44:22.733 回答