2017-03-03 48 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