The image below shows elements that a column header can contain:

The following table lists column header elements and contains the corresponding references to customization approaches:
Use the BaseColumn.HeaderStyle / DataViewBase.ColumnHeaderStyle properties to customize column headers' appearance.
Example 1
The code sample below shows how to make the CategoryName column's header blue and always show the filter button:
XAML |
<dxg:GridColumn FieldName="CategoryName">
<dxg:GridColumn.HeaderStyle>
<Style TargetType="dxg:BaseGridHeader">
<Setter Property="dxg:BaseGridColumnHeader.ShowFilterButtonOnHover" Value="False" />
<Setter Property="Background" Value="LightSkyBlue" />
</Style>
</dxg:GridColumn.HeaderStyle>
</dxg:GridColumn>
|

Example 2
The code sample below shows how to apply a style to all column headers within the View:
Xaml |
<dxg:TableView>
<dxg:TableView.ColumnHeaderStyle>
<Style TargetType="dxg:BaseGridHeader">
<Setter Property="dxg:BaseGridColumnHeader.ShowFilterButtonOnHover" Value="False" />
<Setter Property="Background" Value="LightSkyBlue" />
</Style>
</dxg:TableView.ColumnHeaderStyle>
</dxg:TableView>
|

Use the following print styles and templates to customize a column header when the GridControl is printed: