日期:2014-05-17  浏览次数:20450 次

silverlight 虚拟化 treeview
本帖最后由 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
------其他解决方案-