我应该在代码中动态地绑定datagrid。我编写了如下代码。当我调试这个代码块时,似乎它正确地绑定了,但是grid在表单上没有列。
MyClass myInstance = new MyClass();
dataGridObject = new DataGrid();
dataGridObject.Width = 200;
dataGridObject.Height = 200;
binding = new Binding();
binding.Source = myInstance;
foreach (PropertyInfo prop in myInstance.GetType().GetProperties())
{
binding.Path = new PropertyPath(prop.Name);
DataGridTextColumn column = new DataGridTextColumn();
column.Header = prop.Name;
column.Binding = new Binding(prop.Name);
dataGridObject.Columns.Add(column);
}
dataGridObject.ItemSource = myInstanceList;
虽然我做了必要的绑定,但为什么没有列到网格? 感谢提前回复..
答案 0 :(得分:0)
在这种情况下,为什么不将Datagrid的AutoGenerateColumns属性设置为true?当此属性设置为True时,您编写的代码将为您完成。您所要做的就是将对象列表绑定到网格,并且列将由网格生成。
答案 1 :(得分:0)
您的代码应该有效。您是否已将DataGrid添加到可视树中。例如
LayoutRoot.Children.Add(dataGridObject)