将DataTable数据绑定到DataGrid - 代码背后

问题描述 投票:0回答:1

我创建了DataGrid并且我不想添加DataTemplateColumns泛型,所以它取决于我作为源放置的Data表的列数!但是当我完成所有这些并将DataGrid列绑定到DataTable列时,我的情况是我在DataGrid中获得了正确的行数,但它只是来自第一行的数据。那么,我做错了什么?

这是代码:

Binding binding = new Binding();
binding.Path = new 
PropertyPath(dataTable.Columns[i].ColumnName.ToString());
binding.Source = dataTable

FrameworkElementFactory textBlock = new 
FrameworkElementFactory(typeof(TextBlock));
textBlock.SetValue(TextBlock.TextProperty, binding);

DataTemplate dataTemplate = new DataTemplate();
dataTemplate.VisualTree = textBlock;
dataGridTemplateColumn.CellTemplate = dataTemplate;
dgTab1.Columns.Add(dataGridTemplateColumn);

我认为我有绑定问题,但我不知道如何解决它,显然!

c# wpf datatable datagrid
1个回答
1
投票

使用SetBinding(而不是SetValue)方法绑定到Text属性:

FrameworkElementFactory textBlock = new FrameworkElementFactory(typeof(TextBlock));
textBlock.SetBinding(TextBlock.TextProperty, binding);
© www.soinside.com 2019 - 2024. All rights reserved.