我有这个ListView:
<ListView Name="lvFiles" Background="Transparent" BorderThickness="0">
<ListView.View>
<GridView>
<GridViewColumn Header="File name" />
<GridViewColumn Header="Size" Width="50" />
</GridView>
</ListView.View>
</ListView>
如何设置标题颜色?
答案 0 :(得分:6)
我个人没有使用过GridView
,但是通过快速网络搜索,我找到了:
GridView Column Header Styles and Templates Overview
该页面链接到其他页面,以解释您可以使用GridView
列标题执行的各种操作。看起来有多种方法来设置&#34;颜色&#34; (不确定您的意思是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和数据模板(我在本答案的顶部链接的概述中介绍)来自定义大多数内容,但有些内容无法自定义,因为它们被烘焙到控件模板中 - 例如每个列标题上方和下方出现的边框。如果您需要修改其中任何内容,则需要设置一种样式,将Template
属性设置为您创建的自定义ControlTemplate
。
如果您想为列标题创建自己的控件模板,建议您先将example template复制到应用程序资源中。然后调整你需要调整的部分。请记住,在控件上设置Template
属性会完全替换模板,这意味着您必须定义要使用的整个模板,而不是简单地定义您希望与默认值不同的部分。