public class GeneratingSource
{
//绑定的表头名
public string HeaderName { get; set; }
//绑定的代码
public string HeaderCode { get; set; }
}
private void DynamicBinding(List<GeneratingSource> _cloumnInfos)
{
foreach(var item in _cloumnInfos)
{
//添加列的模版
DataGridTemplateColumn templateColumn = new DataGridTemplateColumn();
templateColumn.Hearder = item.HeaderName;
//添加排列控件
FrameworkElementFactory stackPanelFactory = new FrameworkElementFactory(typeof(StackPanel));
//插入控件属性
stackPanelFactory.SetValue(StackPanel.OrientationProperty, Orientation.Horizontal);
//添加文本控件
FrameworkElementFactory textBlockFactory = new FrameworkElementFactory(typeof(TextBlock));
//添加文本绑定
textBlockFactory.SetBinding(TextBlock.TextProperty, new Binding(item.HeaderCode ));
//添加文本颜色绑定
textBlockFactory.SetValue(TextBlock.ForegroundProperty, new Binding(item.HeaderCode ) { });
stackPanelFactory.AppendChild(textBlockFactory);
//添加模版
DataTemplate dataTemplate = new DataTemplate(typeof(TextBlock));
//模版的根节点
dataTemplate.VisualTree = stackPanelFactory;
templateColumn.CellTemplate = dataTemplate;
//dp_dataGrid DataGrid表
dp_dataGrid.Columns.Add(templateColumn);
}
}
1.DataGrid动态绑定
最新推荐文章于 2024-07-17 10:24:10 发布