C# 如何更改WPF进度条上的颜色

C# 如何更改WPF进度条上的颜色,c#,wpf,progress-bar,C#,Wpf,Progress Bar,我有一个WPF,vista风格的进度条,我想改变画笔上。我已经将前景笔刷设置为另一种颜色,但是有一种嗖嗖的动画效果,其颜色仍然是默认的绿色。如何更改此项?要执行此操作,您需要编辑项目中进度条控件的ControlTemplate样式 <Style x:Key="{x:Type ProgressBar}" TargetType="{x:Type ProgressBar}"> <Setter Property="Template"> <Setter.

我有一个WPF,vista风格的进度条,我想改变画笔上。我已经将前景笔刷设置为另一种颜色,但是有一种嗖嗖的动画效果,其颜色仍然是默认的绿色。如何更改此项?

要执行此操作,您需要编辑项目中进度条控件的ControlTemplate样式

<Style x:Key="{x:Type ProgressBar}"
     TargetType="{x:Type ProgressBar}">
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="{x:Type ProgressBar}">
        <Grid MinHeight="14" MinWidth="200">
          <Border 
            Name="PART_Track" 
            CornerRadius="2" 
            Background="{StaticResource PressedBrush}"
            BorderBrush="{StaticResource SolidBorderBrush}"
            BorderThickness="1" />
          <Border 
            Name="PART_Indicator" 
            CornerRadius="2" 
            Background="{StaticResource DarkBrush}" 
            BorderBrush="{StaticResource NormalBorderBrush}" 
            BorderThickness="1" 
            HorizontalAlignment="Left" />
        </Grid>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>

使用这些样式的示例:

<LinearGradientBrush x:Key="PressedBrush" StartPoint="0,0" EndPoint="0,1">
  <GradientBrush.GradientStops>
    <GradientStopCollection>
      <GradientStop Color="#BBB" Offset="0.0"/>
      <GradientStop Color="#EEE" Offset="0.1"/>
      <GradientStop Color="#EEE" Offset="0.9"/>
      <GradientStop Color="#FFF" Offset="1.0"/>
    </GradientStopCollection>
  </GradientBrush.GradientStops>
</LinearGradientBrush>


...


<SolidColorBrush x:Key="SolidBorderBrush" Color="#888" />


...


<LinearGradientBrush x:Key="DarkBrush" StartPoint="0,0" EndPoint="0,1">
  <GradientBrush.GradientStops>
    <GradientStopCollection>
      <GradientStop Color="#FFF" Offset="0.0"/>
      <GradientStop Color="#AAA" Offset="1.0"/>
    </GradientStopCollection>
  </GradientBrush.GradientStops>
</LinearGradientBrush>


...


<LinearGradientBrush x:Key="NormalBorderBrush" StartPoint="0,0" EndPoint="0,1">
  <GradientBrush.GradientStops>
    <GradientStopCollection>
      <GradientStop Color="#CCC" Offset="0.0"/>
      <GradientStop Color="#444" Offset="1.0"/>
    </GradientStopCollection>
  </GradientBrush.GradientStops>
</LinearGradientBrush>

...
...
...
您可以在MSDN上看到这方面的示例: