Вставка элемента в наблюдаемую коллекцию с нулевым индексом в цикле работает только на первой итерации - PullRequest
0 голосов
/ 22 октября 2018

Заполнив ObservableCollection некоторыми данными, я бы хотел дополнить их, если набор данных недостаточно велик для заполнения моего графика.Для этого я вставляю данные с нулевым индексом в цикл, чтобы заполнение всегда было в начале коллекции.Первая итерация работает хорошо, но следующая итерация завершается неудачно с

Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index

Чего мне не хватает?

private void PadDataSet<T>(ObservableCollection<T> dataSet, DateTime minDataTimePeriod, int minuteIntervals)
{
    var paddedList = new List<DataItem>();
    var neededIntervals = _timescaleHours * 60 / minuteIntervals + 1;
    var actualIntervals = dataSet.Count();
    var padCount = neededIntervals - actualIntervals;
    for (var i = 0; i < padCount; i++)
    {
        var g = Activator.CreateInstance<T>();
        var item = g as DataItem;
        if (item != null)
        {
            item.TimePeriod = minDataTimePeriod.AddMinutes(-minuteIntervals * (i + 1));
            dataSet.Insert(0, g);
        }
    }
}
...