none
DataGridの左上のセルのスタイル RRS feed

  • 質問

  • お世話になっております。

    .NetFramework4.5 の環境で開発をしているのですが、DataGridのスタイルで問題を抱えております。

    DataGridのHeadersVisibilityプロパティをAllにすると左上に、Item全選択/全解除の機能をデフォルトで持ったセルが出てくるのですが、ColumnHeaderStyleもRowHeaderStyleも反映されず、そのセルのみが色さえもつかない状態となっています。

    このセルにスタイルを適用する方法をご存じありませんでしょうか。

    基本的な事かもしれず申し訳ありませんがご教示頂ければ幸いです。
    宜しくお願い致します。


    2014年11月21日 7:25

回答

  • 簡単じゃなくてなかなか難しいですよ~。

    DataGridのテンプレートの編集でコピーを編集すると、キーがx:Key="{ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}"というButtonのStyleが作成されます。その中にあるRectangleがDataGridの左上の実体なので、そこのFillプロパティをRedなりBlueなり自分の好きな色にすれば色を変えることが出来ます。

    マウスオーバーやマウスを押したときの色を変えたいときには、同じButtonのStyle内にTriggerがあるので、そこの色を変えれば変わると思います。


    かずき Blog:http://d.hatena.ne.jp/okazuki/

    2014年11月21日 13:00

すべての返信

  • 簡単じゃなくてなかなか難しいですよ~。

    DataGridのテンプレートの編集でコピーを編集すると、キーがx:Key="{ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}"というButtonのStyleが作成されます。その中にあるRectangleがDataGridの左上の実体なので、そこのFillプロパティをRedなりBlueなり自分の好きな色にすれば色を変えることが出来ます。

    マウスオーバーやマウスを押したときの色を変えたいときには、同じButtonのStyle内にTriggerがあるので、そこの色を変えれば変わると思います。


    かずき Blog:http://d.hatena.ne.jp/okazuki/

    2014年11月21日 13:00
  • ついでなんでBlogってみました。参考にしてください。

    http://okazuki.hatenablog.com/entry/2014/11/21/221115


    かずき Blog:http://d.hatena.ne.jp/okazuki/

    • 回答の候補に設定 星 睦美 2014年11月25日 0:36
    2014年11月21日 13:12
  • かずきさん

    とても勉強になりました。

    プロパティばかりいじっていたので、テンプレートの編集でDataGridの左上のセルにアクセスするという考えがありませんでした。

    ブログまで書いていただき本当にありがとうございます。

    2014年11月25日 1:45