2017-03-03 5 views
1

0 - 30 - プログレスバーのフォアグラウンドを赤に設定 31 - 60 - 進捗状況を設定する、進行状況バーを一定の範囲に基づいてアニメーション化する必要があります。 100 - - オレンジ 61にバーのフォアグラウンド緑アニメーション進捗バー範囲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

をforegound使用65:「フォアグラウンド」は赤 - オレンジ - 緑か緑のみか? –

+0

進行状況の値が変わるたびにコールバックを取得しますか? – CoderP

+1

あなたはIValueConverterを使用することができます – WPFUser

答えて

1

WPFUserによれば、値に基づいて色を生成するIValueConverterを使用できます。この場合、あなたが返さなければならない:

00から30:赤色 31から60:オレンジ 61から100:グリーン

そして `[値]である場合にはプログレスバー上で返される値は

関連する問題