我需要在用户控件中创建一个网格布局控件。我有麻烦,因为这些列是事先未知的,并且来自我绑定到的数据。数据的形状看起来像这样……
public class SummaryRow
{
public string Name { get; set; }
public GridCellValue[] Values { get; set; }
public class GridCellValue
{
public string Value { get; }
public string Status { get; }
public GridCellValue(string value, string status)
{
Value = value;
Status = status;
}
}
}
因此,网格中每行都有一个此类的实例。如果可以通过某种方式简化此类,可以更改此类的形状。
第一列将具有Name
属性,它只是一个文本块。我需要根据Status
属性自定义它们,其余的列必须是模板(相同的模板)。除了第一列之外,它们都是相同的模板,只是绑定到Values
数组的不同元素。我在viewmodel中还有另一个带有标题名称的字符串数组。
我不介意这是Grid
,ItemsControl
,DataGrid
还是组合-但这不应该看起来像是“数据网格” ”(即电子表格;)。
我尝试过this solution,但这并没有向数据表中添加新列-而是在单个 datagrid列中显示了未对齐的网格。
当涉及到它时,我不反对以编程方式在后面的代码中添加列。我只是不知道如何为此设置绑定,以便每一列都引用模型中Values
数组中的一个项目。
有人有什么想法吗?感觉也是如此简单!