Ошибка прокрутки в виртуализированном древовидном представлении WPF

Я использую виртуальное древовидное представление в WPF для отображения 3-уровневой глубокой иерархии с большим количеством дочерних узлов (5000+).

<TreeView Grid.Row="0" Grid.Column="0" Name="TestTree"  ItemsSource="{Binding}" VirtualizingStackPanel.IsVirtualizing="True">
...
</TreeView>

Что происходит, если я расширяю дочерние узлы на 3-м уровне и прокручиваю до самого конца, контент не отображается правильно, а скроллер «переворачивается», и я могу продолжать прокручивать вниз вечно, поведение повторяется после некоторой дополнительной прокрутки ,

Это происходит только в виртуализированном режиме, но, к сожалению, из-за большого количества дочерних узлов время загрузки дерева в не виртуализированном режиме является непомерно высоким.

Я прочитал следующие ссылки на SOВот и оригинальная ветка на форумах MSDNВот но предложенный обходной путь вызоваUpdateLayout() в обработчике SelectedItemChanged у меня не работает.

Кто-нибудь еще испытывал это странное поведение раньше, и если да, есть ли обходной путь?

Ценю любой вклад - спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос