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