У меня есть класс, который наследуется от ItemsControl, а также VirtualizedPanel, который наследуется от панели VirtualizedStack. Я создал шаблоны так, чтобы мои элементы управления содержали Itemspresenter внутри ScrollViewer и включали все свойства витализации, а также CanContentScroll. *
Проблема в том, что я использую DataVirtualization в бэкэнде, поэтому у меня нет всей коллекции в памяти и в WPF, когда загружается ItemsControl, он вызывает GetEnumerator (), поэтому он пытается обойти всю коллекцию , В Silverlight этого не происходит, ItemsControl просто вызывает видимые элементы, используя индексатор моей коллекции, который реализует IList.
Есть ли способ заставить ItemsControl в WPF просто использовать индексатор вместо попытки загрузить всю коллекцию через IEnumerable?