C# Silverlight datagrid绑定-如何将子字典项绑定为父类属性?

C# Silverlight datagrid绑定-如何将子字典项绑定为父类属性?,c#,silverlight,binding,datagrid,C#,Silverlight,Binding,Datagrid,我有这样一个类作为itemsource绑定到datagrid: public class Item { public int Id { get; set; } public string Status { get; set; } public Dictionary<string, string> DynamicProperties { get; set; } } 公共类项目 { 公共int Id{get;set;} 公共字符串状态{get;set;} 公共字典动态

我有这样一个类作为itemsource绑定到datagrid:

public class Item
{
  public int Id { get; set; }   
  public string Status { get; set; }
  public Dictionary<string, string> DynamicProperties { get; set; }
}
公共类项目
{
公共int Id{get;set;}
公共字符串状态{get;set;}
公共字典动态属性{get;set;}
}
我想将
List
绑定到silverlight数据网格,并显示如下列

id |状态|动态属性[0]|动态属性[1]|


如何实现这一点?

支持Silverlight 4及以上版本。使用路径进行简单绑定,如下所示:

{Binding Path=DynamicProperties['propertyIndex']}
对于早期版本的Silverlight,解决方案要复杂得多


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

谢谢。由于字典是动态的,所以在运行时之前字典的项目计数是未知的。我正在考虑在代码背后绑定,但不确定应该在哪个事件处理程序中实现它。@Xin更新了我的答案-请参阅引用的博客文章,它有一个带有动态列的DataGrid示例。此外,字典是动态的,字典的项目计数在运行时之前是未知的。silverlgiht 4/mvvm lightfound解决了我的问题-