Короче говоря, мы не можем получить разумную производительность прокрутки из любого вида элемента управления сетки / элементов WPF при загрузке большого количества чистых данных.
Мы создали статический независимый прототип с использованием DevExpressСетка WPF и загрузила ее здесь:
http://jump.fm/QOTDL
Мы также пробовали использовать сетку Infragistics и Xceed, и проблема та же.
Кажется, чтоWPF просто не может справиться с достаточно большими сетками данных, отображающими большое количество данных, что обеспечивает бесперебойную работу пользователей.Даже без какого-либо связывания данных простое предоставление статических данных (~ 40 столбцов в ширину, 2000 строк) приводит к скроллингу.На самых низких уровнях профилировщик, по-видимому, указывает на чрезмерное количество «измерений», возникающих в дополнение к большому количеству сбора мусора, которое может быть причиной нерегулярного заикания.
Код в прототипе можно легко заменитьработать с другими сетками.Если кто-то может произвести плавную прокрутку в сценарии, указанном , особенно , в случаях, когда данные группируются на нескольких уровнях и плотно упакованы, пожалуйста, сообщите нам, мы были бы очень заинтересованы в слушанииот вас.
Дополнительные сведения:
Мы создаем 2000 объектов (по ~ 40 свойств каждый) и присваиваем их свойству источника данных сетки.
Каждый из наших объектов представлен в виде класса, подобного приведенному ниже:
public class RowViewModel
{
public double AskAsw { get; set; }
public string AskBmkName { get; set; }
public double AskBmkPrice { get; set; }
public double AskBmkSprd { get; set; }
... and so on
}
Они созданы и добавлены в коллекцию / список следующим образом:
for (int i = 1; i < 2000; i++)
{
_rowViewModels.Add(new RowViewModel(i));
}
Изатем привязан к сетке данных.Очень просто:
gridControl.DataSource = _rowViewModels;
В результате таблица данных отображает эту информацию.Мы уменьшили размер шрифта (10 пикселей по запросу пользователя), а также изменили размер и сгруппировали столбцы.Результат в конечном итоге выглядит примерно так:
http://i54.tinypic.com/21jt11t.png
А прокрутка очень запутанная / медленная.Дайте нам знать, если у вас есть какие-либо мысли.