|
分類:[C#]
WPFのDataGridでヘッダにチェックボックスを配置したいのですが、うまくいきません。 DataGridのItemsSourceはDataTable.DefaultViewを設定しようと考えています。
DataTableのカラムの型がboolであれば、ヘッダ部とボディ部にそれぞれチェックボックスを配置したいです。 以下がコードですが、Template = new CheckBox() { }が変換できませんとなります。 xamlでは <DataGridTemplateColumn.Header> <CheckBox Checked="CheckBox_Checked" Unchecked="CheckBox_Checked"></CheckBox> </DataGridTemplateColumn.Header> と書くようなのですが・・・どう記述すればよいのでしょうか。
DataTable dt = GetDataTable();
foreach (DataColumn column in dt.Columns) { Type type = column.DataType; if (type == typeof(bool)) { var template = new DataTemplate() { DataType = typeof(bool), Template = new CheckBox() { } }; this.dataGrid.Columns.Add(new DataGridCheckBoxColumn() { Header = column.ColumnName, HeaderTemplate = template }); } else { this.dataGrid.Columns.Add(new DataGridTextColumn() { Header = column.ColumnName }); } }
|