Q035. DataGrid の列ヘッダーの背景色を変えたいのですが、方法が判りません。

A. DataGrid の列ヘッダーのクラスは DataGridColumnHeader ですが、このクラスのスタイルを設定します。

xmlns:my="http://schemas.microsoft.com/wpf/2008/toolkit"

<Style x:Key="dgHeaderStyle" TargetType="my:DataGridColumnHeader">
    <Setter Property="Background" >
        <Setter.Value>
            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="Black" Offset="0" />
                <GradientStop Color="DarkGray" Offset="1" />  
            </LinearGradientBrush>
        </Setter.Value>
    </Setter>
    <Setter Property="Foreground" Value="White" />
    <Setter Property="BorderBrush" >
        <Setter.Value>
            <SolidColorBrush Color="{StaticResource {x:Static SystemColors.AppWorkspaceColorKey}}"/>
        </Setter.Value>
    </Setter>
    <Setter Property="BorderThickness" Value="0,1,1,0" />
    <Setter Property="SnapsToDevicePixels" Value="True" />
    <Setter Property="HorizontalContentAlignment" Value="Center" />
    <Setter Property="MinWidth" Value="0" />
    <Setter Property="MinHeight" Value="30" />
    <Setter Property="Cursor" Value="Hand" />
</Style>



関連記事ハンズオン ラボ: WPF の活用 〜 DataGrid 〜DataGrid にスタイルを付ける


WPF FAQ の目次に戻る