在我的WPF应用程序中,我从后面的代码动态创建Datagrid。但是,我希望在行标题上设置一个带有复选框的数据网格,类似于 this。
我知道如何从XML开始,而不是从cs代码开始。有什么想法如何处理这种情况? PS。我的代码很大我不能把它放在这里,但如果你需要更多的信息,请在下面写下评论。干杯
答案 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
名称。