我有一个进度条,我需要根据特定范围制作动画,例如: 0 - 30 - 将进度条的前景设置为红色 31 - 60 - 将进度条的前景设置为橙色 61 - 100 - 将进度条的前景设置为绿色
这就是我目前所拥有的:
<ProgressBar Height="12" Canvas.Left="31" Canvas.Top="75" Width="24" Value="0">
<ProgressBar.Triggers>
<EventTrigger RoutedEvent ="Loaded">
<BeginStoryboard>
<Storyboard >
<DoubleAnimation Storyboard.TargetProperty="Value" From="0" To="{Binding Price, Mode=TwoWay}" Duration="0:0:0.3"/>
<ColorAnimation Storyboard.TargetProperty="(Foreground).(SolidColorBrush.Color)" To="Orange" Duration="0:0:0.3"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</ProgressBar.Triggers>
</ProgressBar>
有没有办法实现这个目标?
答案 0 :(得分:1)
正如WPFUser所说,您可以使用IValueConverter
生成基于int enter code here
值的颜色。在这种情况下,您应该返回:
然后使用ProgressBar foregound上返回的值