我有一个进度条,需要根据特定范围进行动画处理,例如:
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>
有什么办法可以做到这一点?
最佳答案
正如WPFUser所说,您可以使用IValueConverter
来生成基于int enter code here
值的颜色。在这种情况下,您应该返回:
00-30:红色
31-60:橙色
61-100:绿色
然后使用ProgressBar foregound返回的值
关于c# - 基于范围WPF的动画进度条前景颜色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42577840/