Виртуализация с использованием VirtualizingStackPanel внутри пользовательских ControlTemplatesC#

Место общения программистов C#
Ответить
Anonymous
 Виртуализация с использованием VirtualizingStackPanel внутри пользовательских ControlTemplates

Сообщение Anonymous »

Мне поручено реализовать собственный элемент управления, подобный DataGrid, в одном из моих проектов.
Это связано со многими специфическими функциями, которые необходимо реализовать, а также с большими объемами данных, которые необходимо отображать. Мы говорим о в среднем миллионе строк, а иногда и больше.
Поэтому, естественно, я изучал виртуализацию и способы реализации встроенных функций WPF, но, похоже, у меня нет шансов заставить ее работать. Я также потратил бесчисленное количество часов, пытаясь найти больше ресурсов по этому вопросу, и все, что я могу найти, это люди, использующие либо собственный ListBox, либо DataGrid - нет специальных реализаций.
Проблема в том, что моя пользовательская сетка пытается сразу же загрузить все элементы пользовательского интерфейса (строки) - сжимая память и нагрузку на процессор.
Это мой исходный код. Возможно, кто-то, достаточно хорошо разбирающийся в WPF, поможет мне определить любую возможную причину того, что VirtualizingStackPanel, по-видимому, не работает. Я был бы более чем благодарен.
Я не уверен, нужен ли здесь выделенный код, сам элемент управления отображается нормально.
Конечно, я очень открыт для любых альтернативных предложений, таких как использование DataGrid и замена его шаблонов вместо этого или написание логики виртуализации самостоятельно, если это кажется более осуществимым из-за каких-либо ограничений.

























































































Подробнее здесь: https://stackoverflow.com/questions/798 ... ltemplates
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»