如何在WPF调整datagrid控件的各项颜色DataGridColumnHeader,DataGridRowHeader

WPF4.0终于支持datagrid控件了,是个多么重要的进步啊,lol,但是怎么调整各项颜色呢?

下面的代码举例了主要的设置方法。包括对列头,行头的设置。最重要的是如何改变选中行的颜色。这个有些麻烦,不能直接通过属性修改,要先继承系统自身的brush,然后定义颜色,如下列代码所示:

<DataGrid.Resources>
<SolidColorBrush x:Key=”{x:Static SystemColors.HighlightBrushKey}” Color=”#E146474B”/>
</DataGrid.Resources>

下面是更改列头DataGridColumnHeader的颜色:

<DataGrid.ColumnHeaderStyle>
<Style TargetType=”DataGridColumnHeader”>
<Setter Property=”Background” Value=”#CC244387″ />
<Setter Property=”Foreground” Value=”#FFE0E9F9″/>
<Setter Property=”FontSize” Value=”11″ />
</Style>

</DataGrid.ColumnHeaderStyle>

下面是更改行头的颜色RowHeaderStyle

<DataGrid.RowHeaderStyle>
<Style TargetType=”DataGridRowHeader”>
<Setter Property=”Background” Value=”#CC244387″ />
</Style>
</DataGrid.RowHeaderStyle>
<DataGrid.RowStyle>
<Style TargetType=”DataGridRow”>
<Setter Property=”Background” Value=”White”/>
<Style.Triggers>//Triggers是用来设置各种事件的,这里用鼠标事件变化单元行颜色
<Trigger Property=”IsMouseOver” Value=”True”>
<Setter Property=”Background” Value=”#FF6EA2F5″/>
<Setter Property=”Foreground” Value=”White”/>
</Trigger>
<Trigger Property=”IsSelected” Value=”True”>
<Setter Property=”Background” Value=”#E146474B”/>
<Setter Property=”Foreground” Value=”#FF5BF33C”/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>

You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>