2015-06-07 53 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

請參閱我的更新,我創建了新的樣式,並將此樣式添加到了我的進度欄中,但似乎有些錯誤,因爲這不起作用。 –

相關問題