我有一个进度条,需要根据特定范围进行动画处理,例如:
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/

10-14 03:39