首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

silverlight 虚拟化 treeview解决办法

2012-12-14 
silverlight 虚拟化 treeview本帖最后由 Sandy945 于 2011-12-04 13:31:18 编辑要做一颗树,已经是点击加载

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
------其他解决方案--------------------



  IsOptionElementsEnabled="True"   ItemsOptionListType="None"
                ItemTemplate="{StaticResource myTreeNodeTemplate}"   
                                        LoadOnDemand="treeView_LoadOnDemand"       
                                        IsVirtualizing="True"      
                                        IsLoadOnDemandEnabled="True" 
IsRootLinesEnabled="True" Margin="10" IsTriStateMode="True" x:Name="UwayNetWorkTree">
        </telerikNavigation:RadTreeView>



里面的节点 看自己需要添加吧  一旦节点过多的时候(超过1000感觉就慢了)建议不要用自带的treeitem ,实例化节点耗时会比较多
[其他解释]
学习silverlight知识
[其他解释]

引用:
暂时不结贴   希望有人能解释下  为什么滚动条在点击节点的时候 会自己动

说不上解释   看看在不借助第三方控件的情况下  看看有没有 什么 简单方便的方法
看第三方的控件,它的虚拟化做了不少工作,在短开发周期上 ,时间太紧了

博客园wpf虚拟化
[其他解释]
暂时不结贴   希望有人能解释下  为什么滚动条在点击节点的时候 会自己动
[其他解释]
非常感谢楼主的提问与最后的解答啊,最近也在用telerik这控件,但貌似这“虚拟化”在多棵树之间切换时,还是感觉到有延迟(节点各300+)。

PS:不知在结帖区挖坟有没有问题。。。。
[其他解释]
请问你这个问题解决了吗,如果不重写滚动条的话能不能解决“滚动条在点击节点的时候 会自己动

”这个问题

热点排行