【问题标题】:Silverlight grid programmatic "complex property" databinding?Silverlight 网格程序化“复杂属性”数据绑定?
【发布时间】:2011-08-22 16:19:26
【问题描述】:

我有一个数据网格,我正在以编程方式构建其内容,因为列将根据对象的复杂集合属性而变化。 有问题的对象有 2 个标准属性。

public class MyObject
{
   private List<MyNameValuePairProps> props = new List<MyNameValuePairProps>();

   public int Id { get; set; }
   public string Name { get; set; }
   public List<MyNameValuePairProps> Props
   {
      get { return props; }
      set { props = value; }
   }
}

我以编程方式为每个属性添加 DataGridTextColumns,如下所示:

DataGridTextColumn colId = new DataGridTextColumn();
colId.Header = "Id";
colId.Binding = new Binding("Id");
myDataGrid.Columns.Add(colId);

DataGridTextColumn colName = new DataGridTextColumn();
colName.Header = "Name";
colName.Binding = new Binding("Name");
myDataGrid.Columns.Add(colName);

我将如何以编程方式在我的对象的“Props”列表属性中为每个“MyNameValuePairProp”添加一列,并在设置列后调用它时将数据绑定到该列:

myDataGrid.ItemsSource = myCollOfMyObjects;

【问题讨论】:

    标签: c# silverlight data-binding datagrid


    【解决方案1】:

    您可以简单地在绑定上设置源(如下)

    foreach(MyNameValuePairProps pair in Props)
    {
        DataGridTextColumn column = x;// create column as you will
        column.Binding = new Binding("Value") { Source = pair};
        myDataGrid.Columns.Add(column);
    }
    

    【讨论】:

      猜你喜欢
      • 2011-09-18
      • 2010-10-16
      • 1970-01-01
      • 2012-01-13
      • 2012-01-20
      • 2010-12-21
      • 1970-01-01
      • 2011-10-29
      • 1970-01-01
      相关资源
      最近更新 更多