2017-03-03 49 views
1

我有一个进度条,需要基于一定范围进行动画制作,例如: 0 - 30 - 将进度条的前景设置为红色 31 - 60 - 设置进度酒吧的前景橙色 61 - 100 - 设定进度条的前景,以绿色动画进度条基于范围的前景色WPF

这是我目前有:

<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

当'Value'是65:前景应该是RED-ORANGE-GREEN还是只有GREEN? –

+0

只要进度值发生变化,您就会得到回调? – CoderP

+1

你可以使用IValueConverter – WPFUser

回答

1

由于WPFUser表示您可以使用IValueConverter,该值根据int enter code here值生成颜色。在这种情况下,你应该返回:

00 - 30:红色 31 - 60:橙 61 - 100:绿色

然后使用值的进度条返回的foregound