【WPF,XAML】DataGridでセル選択時の色を変える

【WPF,XAML】DataGridでセル選択時の色を変える

データグリッドでセルを選択したときのハイライトカラーを、XAMLで指定する方法を紹介します。
また、データグリッドへのフォーカスの有無による色の設定も、合わせて記載します。
XAMLに追加したDataGridタグ内に、コードを追加していきます。

コード説明

SolidColorBrushタグにより、ハイライトカラーの指定を行います。
データグリッドにフォーカスがあたっているときの色は、「HighlightBrushKey」「HighlightTextBrushKey 」で指定します。
データグリッドからフォーカスが外れているときの色は、「InactiveSelectionHighlightBrushKey」「InactiveSelectionHighlightTextBrushKey」で指定します。

<!-- データグリッドのリソース設定 -->
<DataGrid.Resources>
   <!-- 選択中セルの塗りつぶし色(フォーカスがあるとき) -->
   <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}"
                    Color="LightSkyBlue" />

   <!-- 選択中セルのテキスト色(フォーカスがあるとき) -->
   <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey }"
                    Color="Black" />

   <!-- 選択中セルの塗りつぶし色(フォーカスがないとき) -->
   <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}"
                    Color="LightSkyBlue" />

   <!-- 選択中セルのテキスト色(フォーカスがないとき) -->
   <SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightTextBrushKey}"
                    Color="Black" />
</DataGrid.Resources>

まとめ

データグリッドでセル選択時の色を設定する方法をまとめました。
サンプルコードでは、フォーカスの有無に関わらず、塗りつぶしを水色(LightSkyBlue)、テキストを黒(Black)に設定しています。
「Color=””」の部分を変更することで、それぞれ別の色にすることも可能です。


スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください