【问题标题】:Silverlight datagrid binding - how to bind child dictionary item as parent class property?Silverlight 数据网格绑定 - 如何将子字典项绑定为父类属性?
【发布时间】:2012-02-22 09:50:08
【问题描述】:

我有一个像这样的类作为 itemsource 绑定到数据网格:

public class Item
{
  public int Id { get; set; }   
  public string Status { get; set; }
  public Dictionary<string, string> DynamicProperties { get; set; }
}

我想将List&lt;Item&gt; 绑定到silverlight 数据网格并以此方式显示列

标识 |状态 |动态属性[0] |动态属性[1] | ... ...

我该如何实现?

【问题讨论】:

标签: c# silverlight binding datagrid


【解决方案1】:

支持 Silverlight 4 及更高版本bindings with string indexers。你简单地绑定一个路径如下:

{Binding Path=DynamicProperties['propertyIndex']}

对于 Silverlight 的早期版本,解决方案要复杂得多,as described on my blog。

如果您想直接创建列,只需通过代码隐藏即可。上面引用的博文展示了如何动态创建 DataGrid。

【讨论】:

  • 谢谢。由于字典是动态的,因此字典的项目计数在运行之前是未知的。我正在考虑在后面的代码中绑定,但不确定我应该在哪个事件处理程序中实现它。
  • @Xin 更新了我的答案 - 请参阅参考的博客文章,它有一个带有动态列的 DataGrid 示例。
猜你喜欢
  • 1970-01-01
  • 2012-01-13
  • 1970-01-01
  • 2011-08-22
  • 2012-06-12
  • 2012-01-20
  • 1970-01-01
  • 2011-03-29
  • 2022-10-15
相关资源
最近更新 更多