Я использую WPF и C #.
У меня проблема. Мне нужно создать много привязываемых шаблонных элементов управления в прокручиваемой области (все они разных типов). Например, 1000 текстовых полей, 1000 раскрывающихся списков и 1000 флажков.
Проблема в том, что когда они все созданы, это работает очень медленно.
Вопрос в том, возможно ли одновременно иметь так много элементов управления без задержек и в каком направлении я должен искать решение? Я хотел бы сохранить возможность использовать шаблоны, привязку данных и простую обработку событий, например щелчок мышью.
P.S. Я перепробовал много вещей (рендеринг только геометрии, различные базовые классы и т. Д.), Но в настоящее время единственный подход, который мне кажется работающим (я еще не пробовал), - это создавать только те элементы управления, которые соответствуют текущему окну просмотра обновить этот список элементов управления при прокрутке.
P.P.S Я знаю, что в 3.5 SP1 есть механизм, который используется в ListBox, когда элементы списка используются повторно во время прокрутки, но такой подход не может быть использован здесь, потому что все эти элементы имеют разные типы.
Большое спасибо.