2016-03-10 31 views
1

我正在使用Telerik控件创建一个WPF项目。我需要创建一个GridView来显示一些数据,只有列标题应该是不同的颜色。 我这可是不行的:如何自定义RadGridView的标题?

<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> 

设计师给了我这样的结果和比较难看:

enter image description here

我需要的头有不同的颜色,并可以显示大量文本,如下面的图像::在

enter image description here

非常感谢我前进!

+0

您需要自定义列标题的风格。请参阅telerik关于此主题的文档:http://docs.telerik.com/devtools/wpf/controls/radgridview/styles-and-templates/styling-column-headers – Gralo

+0

我从来没有做过这样的事情,所以我发现它很难理解如何从头开始创建自己的风格。你会举例说明我是如何做到的吗?,请 – Richard

回答

1

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

例:

<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> 
+0

我从来没有做过这样的事情,所以我很难理解如何从头开始创建自己的风格。你会举例说明我是如何做到的吗?,请 – Richard

+0

@理查德 - 我添加了一个例子。如果需要更深的重新样式,您可以在安装目录中找到完整的xaml样式。 –

+0

@Richard - 但说实话,如果你从来没有做过WPF控制样式,我不会推荐Telerik控件作为第一个介绍。他们经常有很多'硬编码'/非标准陷阱。 –