【问题标题】:How to customize the headers of a RadGridView?如何自定义 RadGridView 的标题?
【发布时间】:2016-06-25 17:36:05
【问题描述】:

我正在使用 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>

设计师给我这个结果,比较难看:

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

非常感谢您!

【问题讨论】:

  • 您需要自定义列标题的样式。请参阅 Telerik 关于此主题的文档:docs.telerik.com/devtools/wpf/controls/radgridview/…
  • 我从来没有做过这样的事情,所以我很难理解如何从头开始创建自己的风格。你有任何例子来说明我是如何做到的吗?,请

标签: c# wpf telerik telerik-grid


【解决方案1】:

有一个属性HeaderCellStyle可以用来设置每一列的Header单元格的样式。您可以在安装文件夹中找到您的主题的 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>

【讨论】:

  • 我从来没有做过这样的事情,所以我很难理解如何从头开始创建自己的风格。你有任何例子来说明我是如何做到的吗?,请
  • @Richard - 我添加了一个示例。如果需要更深入地重新设置样式,您可以在安装目录中找到完整的 xaml 样式。
  • @Richard - 但老实说,如果您从未做过 WPF 控件样式,我不会推荐 Telerik 控件作为第一次介绍。他们通常有许多“硬编码”/非标准陷阱。
  • 尝试测试示例时,向我抛出此错误:它无法识别或无法访问成员“HeaderColumnStyle”
  • @Richard 修复了代码,本来是HeaderCellStyle
猜你喜欢
  • 2011-10-13
  • 2012-12-04
  • 1970-01-01
  • 2012-10-05
  • 1970-01-01
  • 2013-04-21
  • 2016-05-26
  • 2011-02-16
  • 1970-01-01
相关资源
最近更新 更多