我正在尝试在WPF中创建一个滑块控件。所以我有一个椭圆,当它滑动时将其颜色改为绿色。我使用Storyboard.TargetProperty=Fill
<ColorAnimation Storyboard.TargetName="ball" Storyboard.TargetProperty="Fill.Color" From="Red" To="LightGreen" Duration="0:0:0.3"/>
但它没有用。我做了一些研究,并意识到它需要Fill.Color
。通常Ellipse
有Fill
属性要填充。为什么需要Color
扩展名?
答案 0 :(得分:1)
Fill
是画笔类型而不是颜色类型。
有一些默认转换器允许您在XAML中使用简化的符号,例如Fill="Red"
,但这意味着您要将Fill
设置为SolidColorBrush
,颜色为{ {1}}
根据名称Red
将在Colors not Brushes之间设置动画,因此您需要获得ColorAnimation
的Color属性(在您的情况下,fill是一个SolidColorBrush,其{{1}属性)。
作为一个额外的例子,如果你要将Fill
设置为更复杂的画笔,例如LinearGradientBrush,你仍然可以在Color
中操纵渐变,但语法变得复杂得多:
Fill