我正在使用WPF DataGrid
,我希望更改单个列标题背景颜色,而不会影响其他颜色。
我发现了以下问题:
How to change column header's background color when using WPF datagrid,
但这会改变所有列标题,我只想更改一个。
答案 0 :(得分:3)
当你使用类似的东西时:
<DataGrid>
<DataGrid.Resources>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="Background" Value="Blue" />
</Style>
</DataGrid.Resources>
</DataGrid>
您正在更改该范围内所有DataGridColumnHeader
的{{1}} Style
,因为ColumnHeader
尚未获得Style
现在,假装Key
的{{1}}是ItemsSource
,其中DataGrid
是一个名为List<C>
的{{1}}属性的类和C
。您可以执行此操作,仅设置列string
的{{1}}:
A
您只能在列B
上设置特殊Style
。
除此之外,请注意以下几点:如果以这种方式更改A
,则设置固定的背景颜色,如果您使用鼠标重置,则该颜色不会改变。为了制作响应更快的标头UI,您必须覆盖其整个模板。请阅读this以进行更广泛的讨论。