将WPF DataGrid绑定到List <list <int>&gt;对象</列表<int>的

时间:2012-02-24 19:29:35

标签: c# wpf data-binding datagrid

我尝试将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仍为空,无效。 我该怎么做才能完成这项工作?

2 个答案:

答案 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中所述。