我尝试将WPF中的DataGrid 绑定到列表列表。 我这样做:
private List<List<int>> _rows = new List<List<int>>();
private void WindowLoaded(object sender, RoutedEventArgs e)
{
for (int i = 0; i < 2; i++)
{
var row = new List<int>();
for (int j = 0; j < 2; j++)
{
row.Add(j);
}
_rows.Add(row);
}
var dg1 = new DataGrid();
for (int i = 0; i < 2; i++)
{
var col = new DataGridTextColumn();
col.Header = i.ToString();
dg1.Columns.Add(col);
}
dg1.ItemsSource = _rows;
this.LayoutRoot.Children.Add(dg1);
}
当我运行程序时,DataGrid仍为空,无效。 我该怎么做才能完成这项工作?
答案 0 :(得分:0)
您永远不会在任何列表中添加int。您添加了List<Int>
但从未添加Int
。
你迭代行(而不是列)(_row.count会给你一个行数)来添加dg1 comlumns。
这需要更多的帮助,但这是一个开始
for (int j = 0; j < 2; j++)
{
var row = new List<int>();
for (int i = 0; i < 2; i++)
{
row.add(i);
}
_rows.Add(row);
}
答案 1 :(得分:0)
您不能只将值类型列表绑定到WPF DataGrid 您需要为int创建一个包装类并指定绑定,如this answer中所述。