2015-06-07 55 views
5

下差我WPF应用与ListViewProgressBar内。 我定义这个颜色ForegroundProgressBarWPF:为什么我的前景颜色看起来不同的操作系统

enter image description here

Windows 8下,我可以看到这个颜色,但Windows 7下,我可以看到不同的颜色:

enter image description here

所以我的问题是是有可能在所有操作系统中看到我的愿望颜色?

编辑:

这是我所创建的风格:

<Style x:Key="CustomProgressBar" TargetType="ProgressBar" > 
    <Setter Property="Foreground" Value="#FF15669E"></Setter> 
</Style> 

这是我ProgressBar

<ProgressBar Name="prog" Maximum="100" Value="{Binding Progress}" 
      Width="{Binding Path=Width, ElementName=ProgressCell}" Background="#FFD3D0D0" Style="{StaticResource CustomProgressBar}"/> 

但颜色没有变化。

+0

看看这个已经回答的问题:http://stackoverflow.com/问题/ 4734814/wpf-progressbar-foreground-color也许这适用于Windows 7. – dognose

回答

1

这很简单,你只需要使用您的样式来修改边框,PART_Track网格和里面的矩形(这是整个控件的进度部分)。

这里就是我做的整个事情白色,边框黑色背景的例子 - 和进步的一部分蓝色:

<Style x:Key="CustomProgressBar" TargetType="ProgressBar" >    
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="ProgressBar"> 
       <Border BorderBrush="Black" BorderThickness="1" Background="White" CornerRadius="0" Padding="0"> 
        <Grid x:Name="PART_Track"> 
         <Rectangle x:Name="PART_Indicator" HorizontalAlignment="Left" Fill="Blue" /> 
        </Grid> 
       </Border> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

这应该不是Windows 7或8之间变化!

所以用白色背景: enter image description here

或者绿色背景:

<Border BorderBrush="Black" BorderThickness="1" Background="Green" CornerRadius="0" Padding="0"> 

enter image description here

+0

背景颜色怎么样?我尝试将它从白色更改为其他颜色,但这仍然是白色 –

+0

在我的示例中,将Background =“White”更改为Background =“Purple”(位于样式的

3

在默认,WPF采系统颜色(基于OS),如果你没有提供的控件的任何样式。如果你想通过的所有操作系统上运行的独特风格,那么你必须覆盖风格的控件和有风格的XAML合并到您的应用程序 对于防爆:

<Style x:Key="ButtonStyle" TargetType="Button"> 
     <Setter Property="Background" Value="Red"/> 
    </Style> 

    <Button Style="{StaticResource ButtonStyle}" /> 
+0

请参阅我的ProgressBar定义,在我的情况下需要更改哪些内容? –

+0

您必须重写进度条控件的风格,而不是前景色或背景色。它只改变控件的颜色而不是控件的样式 – ReeganLourduraj

+0

请参阅我的更新,我创建了新的样式,并将此样式添加到了我的进度栏中,但似乎有些错误,因为这不起作用。 –

相关问题