У меня есть следующий сценарий:
<ScrollViewer>
<Grid>
<!--many other controls-->
<DataGrid />
</Grid>
</ScrollViewer>
Теперь, когда я привязываю DataGrid к большому количеству данных (около 10 000 строк), у меня очень низкая производительность. На самом деле я получаю исключение OutOfmemory (а у меня 8 ГБ памяти)! Я где-то читал, что это связано с тем, что ScrollViewer переопределяет виртуализацию DataGrid (или что-то в этом роде), но я не знаю, как это предотвратить. Если я удалю ScrollViewer, проблема будет решена! Данные загружаются менее чем за секунду.
Я хочу сохранить ScrollViewer (из-за других элементов управления) и иметь хорошую производительность. Это возможно? Если нет, есть ли другое решение-обходной путь?
DataGrid
в среднюю строку сMinHeight
из 100 и элементом управления, высота которого может быть от 10 до 1000 в последней строке, внешнийScrollViewer
прокручиваетControls
при необходимости. иDataGrid
ScrollViewer
прокручиваетDataGrid
31.08.2011