В моем приложении WPF у меня есть экран с вкладкой. Пять из этих вкладок содержат сетки данных, которые должны отображать большое количество строк (не менее 5000). Таблицы привязаны к ObservableCollections объектов Part. Каждая строка отображает около 20 точек данных детали. Моя проблема в том, что после того, как пользователь вводит требуемую информацию и генерирует данные, нажатие на вкладку приводит к зависанию приложения на 30-60 секунд. После этого решетка данных наконец загружается, и с правильными настройками виртуализации они работают с приемлемой скоростью (не совсем быстро, но не слишком медленно). Если я отключу виртуализацию, программа израсходует слишком много памяти, и время загрузки действительно не влияет.
Самые оскорбительные таблицы состоят из полдюжины шаблонных столбцов. Каждый шаблон содержит элементы управления внутри стековой панели или сетки; в основном каждый ряд делится на два, как двойной ряд. Этот макет является требованием, и клиент, вероятно, не согласен с подкачкой.
Это самый важный экран в моем приложении, и я довольно затрудняюсь с выполнением этой работы. Что я могу сделать, чтобы ускорить этот процесс? Возможно, ObservableCollection - неправильный выбор?