Мне нужно реализовать обновление DataGrid, которое имеет только одну строку и заголовок, но переменное количество столбцов (которые принимают данные из разных значений) и значения в ячейках должны иметь возможность изменять (хотя только программой, а не пользователем). Поэтому я установил ItemsSource на
ObservableCollection<ObservableCollection<string>>
и надеялся на лучшее. Сетка данных генерирует, показывает столбцы, которые генерируются
DataGridTextColumn newColumn = new DataGridTextColumn { Header = header, Width = column.Width };
Aggreg.Columns.Add(newColumn);
С сеткой данных, созданной как:
<wpftoolkit:DataGrid x:Name = "Aggreg" RowHeaderWidth = "0" HeadersVisibility = "Column" GridLinesVisibility = "None" IsReadOnly = "True" ItemsSource = "{Binding}" AutoGenerateColumns = "False">
Затем привязываю коллекцию к сетке данных:
Aggreg.ItemsSource = collection;
Однако, когда я пробую программу, отображается только пустая строка, независимо от того, какие данные находятся внутри коллекции.
Обновлено: просто добавить - проблема в основном связана с привязкой столбцов данных к позиции (индексу) в коллекции, то есть в столбце 1 должен отображаться элемент в списке с индексом 1 и т. д.
Если вы используете AutoGenerateColumns = "False", вам необходимо привязать каждый столбец к соответствующим данным.
Коллекция - это ObservableCollection. Я попытался установить DataContext, все равно заканчивается. Могу ли я привязать столбец к позиции в коллекции Observable?
Если я включу автогенерацию, я получу только еще один столбец с именем Count с количеством элементов во вложенной коллекции.
Итак, если мне нужно привязать столбец к соответствующим данным, могу ли я привязать столбец к List [index]





Как сказал Майами, должна быть привязка для DataGridTextColumns, но все мои предыдущие попытки привязки не удались. Однако вот правильный синтаксис для программной привязки к индексу в Collection:
Binding binding = new Binding("NewList[INDEX]");
Ваша коллекция - собственность? Вы устанавливаете DataContext? Также вам нужно привязать DataGridTextColumn.