Silverlight中的动态Datagrid绑定?

时间:2012-02-20 09:52:12

标签: c# silverlight data-binding

我应该在代码中动态地绑定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;

虽然我做了必要的绑定,但为什么没有列到网格? 感谢提前回复..

2 个答案:

答案 0 :(得分:0)

在这种情况下,为什么不将Datagrid的AutoGenerateColumns属性设置为true?当此属性设置为True时,您编写的代码将为您完成。您所要做的就是将对象列表绑定到网格,并且列将由网格生成。

答案 1 :(得分:0)

您的代码应该有效。您是否已将DataGrid添加到可视树中。例如

LayoutRoot.Children.Add(dataGridObject)