2016-03-10 68 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控件作爲第一個介紹。他們經常有很多'硬編碼'/非標準陷阱。 –