我有这个ListView:
<ListView Name="lvFiles" Background="Transparent" BorderThickness="0">
<ListView.View>
<GridView>
<GridViewColumn Header="File name" />
<GridViewColumn Header="Size" Width="50" />
</GridView>
</ListView.View>
</ListView>如何设置页眉颜色?
发布于 2015-05-28 20:31:14
我没有亲自使用过GridView,但通过快速的网络搜索,我找到了:
GridView Column Header Styles and Templates Overview
该页面链接到其他页面,解释可以使用GridView列标题执行的各种操作。似乎有多种方法可以设置“颜色”(不确定您是指Foreground还是Background),但使用Style似乎是您可能想要的。可以将样式设置为应用于所有列标题,如下所示:
<GridView>
<GridView.ColumnHeaderContainerStyle>
<Style TargetType="{x:Type GridViewColumnHeader}">
<!-- Set any properties you want to set -->
<Setter Property="Background" Value="LightBlue" />
<Setter Property="Foreground" Value="Black" />
<Setter Property="FontWeight" Value="Bold" />
</Style>
</GridView.ColumnHeaderContainerStyle>
</GridView>您可以覆盖特定列的标题样式,如下所示:
<GridViewColumn Header="Something">
<GridViewColumn.HeaderContainerStyle>
<Style TargetType="{x:Type GridViewColumnHeader}">
<!-- Set any properties you want to set -->
<Setter Property="Background" Value="DarkBlue" />
<Setter Property="Foreground" Value="White" />
<Setter Property="FontWeight" Value="Bold" />
</Style>
</GridViewColumn.HeaderContainerStyle>
</GridViewColumn>编辑:虽然你可以使用styes和data模板定制大多数东西(在这个答案顶部的概述中有介绍),但是有一些东西是不能定制的,因为它们被烘焙到了控件模板中--比如出现在每个列标题上方和下方的边框。如果需要修改其中的任何内容,则需要设置一个样式,将Template属性设置为您创建的自定义ControlTemplate。
如果您想为列标题制作自己的控件模板,我建议您首先将example template复制到应用程序资源中。然后调整你需要调整的部分。请记住,在控件上设置Template属性将完全替换模板,这意味着您必须定义要使用的整个模板,而不是简单地定义要与默认模板不同的部分。
https://stackoverflow.com/questions/30505385
复制相似问题