如何从代码隐藏在 DataGrid 行标题上分配复选框
本文关键字:标题 分配 复选框 DataGrid 代码 隐藏 | 更新日期: 2023-09-27 17:56:47
在我的WPF应用程序中,我从代码隐藏动态创建数据网格。但是,我希望有一个数据网格,行标题上带有类似于此的复选框。
我知道如何从XML中做到这一点,但不能从cs代码中做到这一点。有没有知道如何处理这种情况?我的代码非常大,我不能把它放在这里,但如果您需要更多信息,请在下面发表评论。干杯
像这样的事情怎么样:
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;
希望这应该能够毫不费力地放入您的代码中,可能只需要将DataGrid
名称从"dg"更改为"dg"。