我想要将一组数据绑定为DataGrid
中的不同列。我们绑定数据的正常方式是绑定属性。但是现在我的场景是属性是一个动态集合,它可能与不同的对象实例不同。对于我需要动态创建的每个对象DataGrid
。如何将集合数据绑定为数据网格中的列值?
这里,我给它从我的情景中抽象简化的活生生的例子:
public class Company
{
...
public string CompanyName { set; get; }
public ObservableCollection<CompanyProperty> data;
}
public class CompanyProperty
{
public string PropertyName { get; set; }
public string Value { get; set; }
}
在我的主类,我公司的的ObservableCollection:
class Window
{
private ObservableCollection<Company> _list;
private void CreateData()
{
Company tmp = new Company("Siemens");
tmp.data.Add(new CompanyProperty() { PropertyName = "Country", Value = "Germany" });
tmp.data.Add(new CompanyProperty() { PropertyName = "Staffs", Value = "400,000" });
_list.Add(tmp);
tmp = new Company("ABB");
tmp.data.Add(new CompanyProperty() { PropertyName = "Country", Value = "Swiss" });
tmp.data.Add(new CompanyProperty() { PropertyName = "Staffs", Value = "100,000" });
_list.Add(tmp);
}
}
现在我想结合我的数据到DataGrid
,这将看起来像3列(公司名称,国家,职员)和2行(西门子,ABB)。
我正在用的是如何公司性质不同柱的集合捆绑在我DataGrid
因为“国家”和“职员”的奋斗是不是在ObservableCollection
成员类“公司”的性质,但只值。
您可以请[将您的解决方案添加到答案中,然后将该答案标记为正确](http://stackoverflow.com/help/self-answer),以便用户知道此问题已得到解答?非常感谢。 – Sheridan