我正在寻找一种将嵌套列表绑定到 DataGrid 以将它们显示在单独的列中的解决方案。
视图模型
public class ParametersDataGridViewModel : ViewModelBase
{
public ObservableCollection<Row> RowsList { get; set; } = new();
}
public class Row
{
public string NameColumn { get; set; }
public bool IsCheckedColumn { get; set; }
public ObservableCollection<Values> ValuesColumns { get; set; } = new();
}
public class Values
{
public string ValueName { get; set; }
public List<string> ValueValue { get; set; }
}
我的目标是获取如下所示的 DataTable 作为示例数据:
RowsList.Add(new Row{NameColumn = Name1, IsCheckedColumn = TRUE, ValuesColumns = new Values{ValueName = "ValueName1", ValueValues = {1,2,3}});
RowsList.Add(new Row{NameColumn = Name2, IsCheckedColumn = FALSE, ValuesColumns = new Values{ValueName = "ValueName2", ValueValues = {4,221,231}});
RowsList.Add(new Row{NameColumn = Name3, IsCheckedColumn = TRUE, ValuesColumns = new Values{ValueName = "ValueName3", ValueValues = {34,43,213}});
到目前为止,我尝试了以下解决方案,但这不是我需要的,因为 ValuesColumns 的数量是可变的,我不想以这种方式声明它,因为列可能会动态添加或删除。
感谢所有回复。提到的解决方案是很好的方向,但它们并没有完全涵盖我的例外情况。我想知道如何获取 Column Ischecked 值中的复选框。现在我正在通过字典