如何从代码后面的DataGrid行标题上分配复选框?

时间:2013-01-31 17:49:03

标签: c# wpf datagrid checkbox

在我的WPF应用程序中,我从后面的代码动态创建Datagrid。但是,我希望在行标题上设置一个带有复选框的数据网格,类似于 this

我知道如何从XML开始,而不是从cs代码开始。有什么想法如何处理这种情况? PS。我的代码很大我不能把它放在这里,但如果你需要更多的信息,请在下面写下评论。干杯

1 个答案:

答案 0 :(得分:2)

这样的事情怎么样:

var dg = new DataGrid();

var dataTemplate = new DataTemplate();

var gridFactory = new FrameworkElementFactory(typeof(Grid));
var checkboxFactory = new FrameworkElementFactory(typeof(CheckBox));
checkboxFactory.SetBinding(CheckBox.IsCheckedProperty, new Binding("IsSelected") { RelativeSource = new RelativeSource(RelativeSourceMode.FindAncestor,typeof(DataGridRow),1)});
gridFactory.AppendChild(checkboxFactory);

dataTemplate.VisualTree = gridFactory;
dg.RowHeaderTemplate = dataTemplate;

希望这应该能够毫不费力地放入您的代码中,可能只需要从“dg”更改DataGrid名称。