Я обнаружил, что самый простой способ - использовать таблицы данных и создавать их динамически:
DataTable dt = new DataTable();
int nbColumns = 10;
int nbRows = 5;
for (int i = 0; i < nbColumns; i++)
{
dt.Columns.Add(i.ToString(), typeof(double));
}
for (int row = 0; row < nbRows; row++)
{
DataRow dr = dt.NewRow();
for (int col = 0; col < nbColumns; col++)
{
dr[col] = col;
}
dt.Rows.Add(dr);
}
myDataGrid.ItemsSource = dt.DefaultView;
Конечно, это просто случайная таблица, вы можете загрузить 2d или Xd массив в вашу DataTable. А также вам не нужно реализовывать IEnumerable и прочее ...