ヘッダセルの背景色や文字色などのスタイルを変更することができます。
ここで言う「スタイル」は WPF のスタイルです。XAML で記述します。特定のスタイルを参照するには、コントロールのColumnHeaderStyle、RowHeaderStyle、 CornerHeaderStyle プロパティにそれぞれのリソースキーを指定します。
ヘッダスタイルのカスタマイズを行うには、列ヘッダは ColumnHeaderCellPresenter クラス、行ヘッダはRowHeaderCellPresenter クラス、コーナーヘッダはCornerHeaderCellPresenter を使用します。
次のサンプルコードは、列ヘッダと行ヘッダの背景色、文字色およびマウスホバー時の背景色を設定します。
XAML |
コードのコピー |
---|---|
<Window.Resources> <Style TargetType="sg:ColumnHeaderCellPresenter"> <Setter Property="Background" Value="Blue"/> <Setter Property="Foreground" Value="White"/> <Setter Property="MouseOverBackground" Value="Yellow"/> <Setter Property="MouseOverForeground" Value="Green"/> </Style> <Style TargetType="sg:RowHeaderCellPresenter"> <Setter Property="Background" Value="Green"/> <Setter Property="Foreground" Value="LightCoral"/> <Setter Property="MouseOverBackground" Value="Pink"/> <Setter Property="MouseOverForeground" Value="Red"/> </Style> </Window.Resources> |
ColumnHeaderCellPresenter クラス、RowHeaderCellPresenter クラス、CornerHeaderCellPresenter クラスを使用して ヘッダのハイライト時の外観を設定することも可能です。
ハイライトヘッダのカスタマイズに使用するプロパティは以下のとおりです。
プロパティ | 説明 |
---|---|
HeaderSelectionFontWeight | ハイライトヘッダのフォントの太さを設定します。 |
HighlightBackground | ハイライトヘッダの背景色を設定します。 |
HighlightBackgroundUnfocused | コントロールにフォーカスがないときのハイライトヘッダの背景色を設定します。 |
HighlightForeground | ハイライトヘッダの文字色を設定します。 |
HighlightForegroundUnfocused | コントロールにフォーカスがないときのハイライトヘッダの文字色を設定します。 |
HighlightMouseOverBackground | ハイライトされたヘッダセル上をマウスポインタが通過するときの背景色を設定します。 |
次のサンプルコードは、列ヘッダおよび行ヘッダがハイライト表示されたときの外観を設定します。
XAML |
コードのコピー |
---|---|
<Window.Resources> <Style TargetType="sg:ColumnHeaderCellPresenter"> <Setter Property="HighlightBackground" Value="Aqua"/> <Setter Property="HighlightForeground" Value="Violet"/> <Setter Property="HighlightMouseOverBackground" Value="LimeGreen"/> <Setter Property="HeaderSelectionFontWeight" Value="Bold"/> </Style> <Style TargetType="sg:RowHeaderCellPresenter"> <Setter Property="HighlightBackground" Value="Tomato"/> <Setter Property="HighlightForeground" Value="Blue"/> <Setter Property="HighlightMouseOverBackground" Value="LightBlue"/> <Setter Property="HeaderSelectionFontWeight" Value="Bold"/> </Style> </Window.Resources> |
ColumnHeaderCellPresenter クラス、RowHeaderCellPresenter クラス、CornerHeaderCellPresenter クラスを使用してヘッダの選択時の外観を設定することも可能です。
ヘッダ選択時のカスタマイズに使用するプロパティは以下のとおりです。
プロパティ | 説明 |
---|---|
SelectionBackground | 選択したヘッダの背景色を設定します。 |
SelectionForeground | 選択したヘッダの文字色を設定します。 |
次のサンプルコードは、列ヘッダおよび行ヘッダが選択されたときの外観を設定します。
XAML |
コードのコピー |
---|---|
<Window.Resources> <Style TargetType="sg:ColumnHeaderCellPresenter"> <Setter Property="SelectionBackground" Value="Green"/> <Setter Property="SelectionForeground" Value="Red"/> </Style> <Style TargetType="sg:RowHeaderCellPresenter"> <Setter Property="SelectionBackground" Value="Orange"/> <Setter Property="SelectionForeground" Value="Red"/> </Style> </Window.Resources> |