スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: スポンサー広告

そろそろDataGridをネタにして書こうっと。

WPF4の開発で、一欄表示によく使うのが、DataGrid。DataGrid自身、WPF4からが正式デビュー。
3.5の時代は、WPF Toolkitの中にあった。それまでは、ListViewが主流だったのかもしれないけど、自分は3.5で開発してなかったので、ListViewに関してはまだ疎い。
DataGridを使って便利だと思ったのは、

・ソート。複数列のソートも簡単。
・列の並び替え。ドラグ&ドロップで。
・スタイルによる色設定。コードによる実装が減る。

かな。ただし、良いことばかりではない。パフォーマンス的なネックも存在したりする。余裕のある会社は1から作って速度を売りにしてたりするなぁ。
自分的に、DataGridの中で一際目立つ曲者がいる。それは、DataGridColumnだ。
曲者というか、厄介というか…。

・DataGridColumnからは、DataGridを特定できない(internalでプロパティを持っている)。
・DataGridColumn自身、LogicalTreeやVisualTreeに一切現れない。
・DataGridColumnは、FrameworkElementを継承していないので、Style設定が使えない。
・DataGridColumnは、FrameworkElementを継承していないので、Loadedイベント等もない。
・DataGridColumnは、FrameworkElementを継承していないので、コード上で名前解決ができない。

LogicalTree及び、VisualTreeに現れないといのが一番の厄介な点。BindingのElementNameやRelativeSourceだったかな?それらで参照できないという記事もあった。これは検証しておきたい。
後は、名前解決できないって事かなぁ。Nameプロパティないんだよ。どうやって列特定すんの?って感じだもんなぁ。
x:Nameを使えば、名前を設定はできるけど、取得できない。XAMLのコードビハインド内なら、その名前を使ってアクセスできるだけ。
DataGridCiolumnだけではなく、パフォーマンス的な部分でも発展途上なDataGrid。
一応、仕事では活躍中なので、ちょこちょこメモしていく。
スポンサーサイト
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: WPF4 | コメント: 0 | トラックバック: 0


この記事へのコメント

コメントの投稿

非公開コメント


サイドバー背後固定表示サンプル

当ブログに書かれたソースコードは流用自由です。

バグ、スペルミス等はありうる事です。

ご利用の際は自己責任でお願いしますm(_ _)m

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。