C# 将DataTable数据绑定到DataGrid-代码隐藏

C# 将DataTable数据绑定到DataGrid-代码隐藏,c#,wpf,datatable,datagrid,C#,Wpf,Datatable,Datagrid,我已经创建了DataGrid,我不想添加DataTemplateColumns generic,所以这取决于我作为源数据表的列数! 但当我做了所有这些并将DataGrid列绑定到DataTable列时,我有一个场景,在这个场景中,我在DataGrid中获得了正确的行数,但它只是来自第一行的数据。那么,我做错了什么 代码如下: Binding binding = new Binding(); binding.Path = new PropertyPath(dataTable.Columns[i]

我已经创建了DataGrid,我不想添加DataTemplateColumns generic,所以这取决于我作为源数据表的列数! 但当我做了所有这些并将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);
我想我有一个绑定问题,但我不知道如何解决它,显然

使用SetBinding而不是SetValue方法绑定到文本属性:

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