为什么使用TargetProperty =“填充”时ColorAnimation不起作用?

时间:2016-08-24 20:46:09

标签: wpf xaml coloranimation

我正在尝试在WPF中创建一个滑块控件。所以我有一个椭圆,当它滑动时将其颜色改为绿色。我使用Storyboard.TargetProperty=Fill

尝试了此代码
<ColorAnimation Storyboard.TargetName="ball" Storyboard.TargetProperty="Fill.Color" From="Red" To="LightGreen" Duration="0:0:0.3"/>

但它没有用。我做了一些研究,并意识到它需要Fill.Color。通常EllipseFill属性要填充。为什么需要Color扩展名?

1 个答案:

答案 0 :(得分:1)

Fill是画笔类型而不是颜色类型。 有一些默认转换器允许您在XAML中使用简化的符号,例如Fill="Red",但这意味着您要将Fill设置为SolidColorBrush,颜色为{ {1}}

根据名称Red将在Colors not Brushes之间设置动画,因此您需要获得ColorAnimation的Color属性(在您的情况下,fill是一个SolidColorBrush,其{{1}属性)。

作为一个额外的例子,如果你要将Fill设置为更复杂的画笔,例如LinearGradientBrush,你仍然可以在Color中操纵渐变,但语法变得复杂得多:

Fill