如何自定义 RadGridView 的 headers?

How to customize the headers of a RadGridView?

我正在使用 Telerik 控件创建 WPF 项目。我需要创建一个 GridView 来显示一些数据,只有列标题应该是不同的颜色。 我有这个但不起作用:

<telerik:RadGridView x:Name="dtgResum" VerticalAlignment="Stretch" AutoGenerateColumns="False" HorizontalAlignment="Stretch" FontSize="18" Margin="10,10,10,10" 
                      RowIndicatorVisibility="Collapsed" 
                      IsReadOnly="True" 
                      ShowGroupPanel="False"      
                      CanUserFreezeColumns="False" 
                      CanUserReorderColumns="False" 
                      CanUserResizeColumns="False" 
                      CanUserSortColumns="False" 
                      IsFilteringAllowed="True" 
                      ColumnWidth="*" 
                      AlternationCount="2" 
                      AlternateRowBackground="#EFEFEF">
            <telerik:RadGridView.Columns>
                <telerik:GridViewDataColumn x:Name="colEstatus" Header="ESTATUS" Background="#538DD5"/>
                <telerik:GridViewDataColumn x:Name="colId" Header="ID" Background="#D9D9D9"/>
                <telerik:GridViewDataColumn x:Name="colMza" Header="MZA" Background="#D9D9D9"/>
                <telerik:GridViewDataColumn x:Name="colLot" Header="LOT" Background="#D9D9D9"/>
                <telerik:GridViewDataColumn x:Name="colNo" Header="No" Background="#D9D9D9"/>
                <telerik:GridViewDataColumn x:Name="colInt" Header="INT" Background="#D9D9D9"/>
                <telerik:GridViewDataColumn x:Name="colEdif" Header="EDIF" Background="#D9D9D9"/>
                <telerik:GridViewDataColumn x:Name="col1" Header="SOME LONG HEADER" Background="#538DD5"/>
                <telerik:GridViewDataColumn x:Name="col2" Header="OTHER LONG HEADER" Background="#538DD5"/>
                <telerik:GridViewDataColumn x:Name="col3" Header="THIS IS A LONG HEADER OF THE COLUMN" Background="#D86B0A"/>
                <telerik:GridViewDataColumn x:Name="col4" Header="THIS IS A LONG HEADER OF THE COLUMN" Background="#D86B0A"/>
                <telerik:GridViewDataColumn x:Name="col5" Header="THIS IS A LONG HEADER OF THE COLUMN" Background="#D86B0A"/>
                <telerik:GridViewDataColumn x:Name="col6" Header="THIS IS A LONG HEADER OF THE COLUMN" Background="#D86B0A"/>
            </telerik:RadGridView.Columns>
        </telerik:RadGridView>

设计者给我的结果比较丑:

而且我需要headers有不同的颜色并且可以显示很多文字,如下图::

非常感谢您!

有一个属性 HeaderCellStyle可以用来设置每列Header单元格的样式。您可以在安装文件夹中找到主题的 XAML。对于背景和字体大小等小调整,您可以只使用 'based on' 样式并更改这些属性,而不是编辑模板。

例如:

<telerik:GridViewDataColumn x:Name="colEstatus" Header="ESTATUS">
    <telerik:GridViewDataColumn.HeaderCellStyle>
        <Style TargetType="telerik:GridViewHeaderCell" BasedOn="{StaticResource {x:Type telerik:GridViewHeaderCell}}">
            <Setter Property="Background" Value="#538DD5" />
        </Style>
    </telerik:GridViewDataColumn.HeaderCellStyle>
</telerik:GridViewDataColumn>