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

2018年11月29日C#, 開発

おはようございます。

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

サンプルアプリの作成

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

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

MainWindow.xaml

 

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

Cat.cs

 

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

MainWindow.xaml.cs

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

スポンサーリンク

サンプルアプリの起動

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

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

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

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

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

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

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

修正する

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

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

修正後ソース

MainWindow.xaml

 

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

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

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

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

まとめ

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

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

では。

エッセンシャルWPF:Windows Presentation Foundation (Programmer's SELECTION)

エッセンシャルWPF:Windows Presentation Foundation (Programmer's SELECTION)

Chris Anderson
5,184円(12/19 08:11時点)
発売日: 2007/10/31
Amazonの情報を掲載しています
WPF 4.5入門

WPF 4.5入門

大田一希
発売日: 2015/09/27
Amazonの情報を掲載しています

スポンサーリンク


関連するコンテンツ

2018年11月29日C#, 開発C#, WPF, データグリッド, プログラミング

Posted by doradora