DataGridTemplateColumnに関するメモ。

DataGridTemplateColumnの痒いところ。で書いたDataGridTemplateColumnに関するメモ。
・DataGridTemplateColumn列でソートする
 →SortMemberPathプロパティを使う。
・DataGridTemplateColumn列のセルから文字列をコピーする。
 →ClipBoradContentBindingプロパティを使う。
 ※コピーにも貼り付けにも使える(貼り付けは要実装)。しかし、貼り付けは性能がやや悪い。もっさりする。

・通常と編集モード
 通常モードのTemplateは、CellTemplate
 BindingはOneWayでOK
 編集モードのTemplateは、CellEditingTemplate
 BindingはTwoWay推奨
 いずれもDataTemplateで、リソースで定義して、使いまわすことも可能。
 Bindingのソースは、ItemsSourceのアイテムになっているインスタンス。
 使いまわすとは言ったものの、バインディングで指定するプロパティ名はベタ打ちの為、複数列での使い回しには、非常に頭が痛いところ。手はあるにはあるけど、まだ試せてはいない。

なお、DataGridTemplateColumnに限った話ではないけど、BindingでRelativeSource Ancestor系は効果がない。
RelativeSourceは、基本的にVisualTreeを遡る物なので、VisualTree上に存在しないDataGridColumnには適用できない。
適用できないが、独自のMarkupExtensionを実装することで、限定的ながら使うことが可能とわかり、仕事ではそれを使っている。
スポンサーサイト
当サイトは基本をすっ飛ばしてます。基本文法等は、@ITをどうぞ
カテゴリー: WPF4 | コメント: 0 | トラックバック: 0


この記事へのコメント

コメントの投稿

非公開コメント


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

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

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

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