Има ли алтернатива за виртуализация на WPF, при която контейнерите за всички елементи се генерират (така че обвързванията се оценяват), но се свиват, докато не се виждат (така че няма допълнителни разходи за изобразяване/оформление)?
Виртуализацията означава, че не се генерират контейнери за елементите, които не се виждат. Въпреки това имам нужда от допълнителна функционалност, която се задейства от някакво (прикачено) свойство на зависимост в контейнерите на елемента. Профилирах приложението с деактивирана виртуализация и открих, че основното тясно място е пропускът на оформлението и изобразяването. След като виртуализацията е включена, производителността се подобрява значително, но както се очаква, обвързването не се актуализира за елементите, които не се виждат.
Идеята ми е да имам алтернативен ScrollViewer, който автоматично свива всички елементи, които не се виждат (и ги прави видими отново, когато се виждат), но все пак показва палеца в очакваната позиция (и с очакваната височина).
Някой знае ли съществуващо решение за това?