【WPF】DataGrid でセルフォーカス時の枠線を消し去る

2017年5月13日C#,開発

おはようございます。

急に技術的な投稿となりますが、
C#@WPFのクライアントアプリケーションにて
データグリッドのセルフォーカス時の枠線を表示しない方法を紹介します。

スポンサーリンク

サンプルアプリの作成

まずは単純にデータグリッドに手っ取り早くデータを表示する
サンプルアプリケーションを作成します。

Visual Studio にて、WPFアプリケーションプロジェクトを新規で作成し、
生成されたメインウィンドウの Xaml に次のコードを記述します。

MainWindow.xaml

 

クラスを追加し、次のように記述します。
データグリッドにバインドするデータを保持するための単純なクラスです。

Cat.cs

 

MainWindowのクラスファイルには次のように記述します。

MainWindow.xaml.cs

ひとまずこれで一覧を表示することができるはず。

サンプルアプリの起動

VisualStudio より、「デバッグなしで起動」を実行します。

データグリッド
データグリッド

初期表示でデータが表示されます。
通常だと、セルを選択すると次のような表示になります。
(列単位で読み取りのみとしているので編集はできません)

セル選択時の表示
セル選択時の表示

セルを選択すると、選択行がハイライトされ、選択されたセルの枠線が太線で表示されます。
個人的にこれが気に食わない・・。

複数選択時の表示
複数選択時の表示

複数選択した際もセルの枠線が太くなります。

修正する

データグリッドのスタイルをいじり次のようにしたいと思います。

  • セルの枠線を消す
  • 行ごとのハイライト
  • 複数選択不可
  • 行の高さを広げる
  • 最後の列をぴったりグリッドに合わせる

修正後ソース

MainWindow.xaml

 

具体的な修正部分については、ソースを見比べてみてください。

これを実行すると次のような表示に変更されます。

変更後データグリッド
変更後データグリッド

少し見やすくなりましたかね。

まとめ

WPFアプリは、Windowsフォームと違い (ほんとかな?)
WEBのように色々とスタイルが変更できるので、出来るだけ見やすく使いやすくしたいですね。

WPFアプリについてはまだまだ初心者で勉強中ですが、またなにかあれば投稿したいと思います。

では。

スポンサーリンク


関連するコンテンツ

2017年5月13日C#,開発C#,WPF,サンプルプログラム,データグリッド

Posted by doradora