本帖最后由 Sandy945 于 2011-12-04 13:31:18 编辑 要做一颗树,已经是点击加载节点了 ,但是节点太多了 3w左右,需要接住虚拟化实现
下面是我虚拟化的东西 也实现了 但是
在点击节点的时候 ,treeview的滚动条自己滚动了
<sdk:TreeView x:Name="virtualTree" Margin="0,0,0,13">
<sdk:TreeView.ItemsPanel>
<ItemsPanelTemplate>
<!--<local:VirtrulaTreeNodesTest></local:VirtrulaTreeNodesTest>-->
<VirtualizingStackPanel>
</VirtualizingStackPanel>
</ItemsPanelTemplate>
</sdk:TreeView.ItemsPanel>
</sdk:TreeView>
换一种实现方式 代码如下 ,点击节点的时候 滚动条自己不会滚动,但是虚拟化没有了
<ScrollViewer Grid.Row="0" Background="Red" VirtualizingStackPanel.VirtualizationMode="Recycling"
VerticalScrollBarVisibility="Auto">
<sdk:TreeView x:Name="virtualTree" Margin="0,0,0,13">
<sdk:TreeView.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel>
</VirtualizingStackPanel>
</ItemsPanelTemplate>
</sdk:TreeView.ItemsPanel>
</sdk:TreeView>
</ScrollViewer>
查看了msdn 有VirtualizingStackPanel
我没看出来 我哪里写错了 ,还希望大家帮忙看下 。
------最佳解决方案--------------------------------------------------------
试试
VirtualizingStackPanel.IsVirtualizing="True"
------其他解决方案--------------------------------------------------------
sl版链接
------其他解决方案--------------------------------------------------------
http://technet.microsoft.com/zh-cn/library/cc716882(VS.90).aspx
------其他解决方案--------------------------------------------------------