我在WPF中使用虚拟树视图来显示具有更多数量的子节点(5000+)的3级深层次结构。在WPF虚拟化Treeview滚动错误
<TreeView Grid.Row="0" Grid.Column="0" Name="TestTree" ItemsSource="{Binding}" VirtualizingStackPanel.IsVirtualizing="True">
...
</TreeView>
会发生什么,如果我展开的子节点上的第三级,并滚动到最后的内容无法正确显示,这个滚动条“翻转回来”,我可以继续向下滚动永远,在更多滚动之后重复该行为。
这只发生在虚拟化模式下,但不幸的是,由于大量的子节点,treeview在非虚拟化模式下的加载时间过长。
我已阅读MSDN论坛here但在SelectedItemChanged处理程序调用UpdateLayout()
我没有工作的建议的解决方法上SO here以下链接和原来的线程。
以前有没有人遇到过这种奇怪的行为,如果有的话是否有解决方法?
感谢任何意见 - 谢谢!
的问题是,大部分的节点都在同一水平上,所以这种优化不会真的给我买任何东西,因为我会在同一时间加载所有这些节点无论如何。 – BrokenGlass 2011-06-02 19:45:28