我创建了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);
我认为我有绑定问题,但我不知道如何解决它,显然!
使用SetBinding
(而不是SetValue
)方法绑定到Text
属性:
FrameworkElementFactory textBlock = new FrameworkElementFactory(typeof(TextBlock));
textBlock.SetBinding(TextBlock.TextProperty, binding);