2016-07-01 67 views
0

在WPF項目中,我將樣式設置爲GridView的標題。WPF Datagrid DataGridColumnHeader背景顏色不能按預期工作

<DataGrid.ColumnHeaderStyle> 
      <Style TargetType="DataGridColumnHeader"> 
       <Setter Property="FontSize" Value="14"/> 
       <Setter Property="FontWeight" Value="SemiBold"/> 
       <Setter Property="HorizontalAlignment" Value="Center"/> 
      </Style> 
     </DataGrid.ColumnHeaderStyle> 

這對於相關屬性完美地工作。 但由於任何原因,添加此樣式會更改背景顏色。 CF附加屏幕截圖,標題的文字背景與圍繞它的內容之間存在色差。 enter image description here

這是從哪裏來的? 我試圖將其添加到樣式(F7F7F7似乎是正確的outter顏色):

<Setter Property="Background" Value="#F7F7F7"/> 

沒有幫助。

你就憑你們:)

+0

你可以嘗試設置'BasedOn = {StaticResource {x:Type DataGridColumnHeader}}',以防您已經有一些應該覆蓋它但被覆蓋的樣式。 – icebat

回答

1
  1. 您可以設置背景爲透明。

    <Setter Property="Background" Value="Transparent"/> 
    
  2. 但對我來說最好的是:

    <Setter Property="HorizontalAlignment" Value="Stretch"/> 
    <Setter Property="HorizontalContentAlignment" Value="Center"/> 
    
+0

解決了我的問題。 Thx兄弟。 –

0

你應該設置的樣式從基本樣式繼承所以它不改變其他屬性

<Style TargetType="DataGridColumnHeader" BasedOn={StaticResource {x:Type DataGridColumnHeader}}>