Silverlight 网格编程“复杂属性”数据绑定
本文关键字:复杂属性 数据绑定 属性 复杂 网格 编程 Silverlight | 更新日期: 2023-09-27 17:55:46
我有一个数据网格,我正在以编程方式构建其内容,因为列将根据对象的复杂集合属性而变化。有问题的对象有 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;
您可以简单地在绑定上设置源(如下所示)
foreach(MyNameValuePairProps pair in Props)
{
DataGridTextColumn column = x;// create column as you will
column.Binding = new Binding("Value") { Source = pair};
myDataGrid.Columns.Add(column);
}