Добавление строк в DataGrid старомодным способом (без привязки)
Я хотел бы программно добавить строки в DataGrid старомодным способом. У меня есть очень быстрая форма, которую я хотел бы добавить вместе с парой DataGrids, и я пытаюсь добавить в них строки. Я не хочу использовать шаблон привязки MVVM в этой единственной ситуации, потому что я хочу сохранить строки кода на низком уровне.
Я попробовал это, но это не работает для меня:
private static void FillGrid(DataGrid grid, IEnumerable<decimal> values)
{
foreach (var item in values)
{
grid.Items.Add(item);
}
}
Сетка данных заканчивается очень маленькими строками без данных. Похоже на это изображение. Я также попытался обернуть свои значения в классе и добавить объекты этого класса в DataGrid, но я получил тот же результат. Вот этот код:
private class MyClass { public decimal MyDecimal { get; set; } }
private static void FillGrid(DataGrid grid, IEnumerable<decimal> values)
{
foreach (var item in values)
{
grid.Items.Add(new MyClass() { MyDecimal = item });
}
}
У меня гораздо больше опыта работы с Windows Forms. Я считаю связывание MVVM утомительным, чрезмерно сложным и трудным для отладки. Как мне заставить этот код работать?
1 ответ
Ваш код работает, но вы должны сказать DataGrid
что делать с данными.
<DataGrid>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding}" />
</DataGrid.Columns>
</DataGrid>
К сожалению, я не нашел более короткий путь без привязки.