Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight 如何知道树状视图项目何时在屏幕上可见?_Silverlight_Silverlight 5.0 - Fatal编程技术网

Silverlight 如何知道树状视图项目何时在屏幕上可见?

Silverlight 如何知道树状视图项目何时在屏幕上可见?,silverlight,silverlight-5.0,Silverlight,Silverlight 5.0,我能找到一个树状视图项目在屏幕上是否可见吗 我有一些数据要处理,这是沉重的,如果我做的所有项目,我得到了延迟,我想避免 我需要一种有效的方法来测试项目是否在树的可见部分。GeneralTransform gt=treeView.TransformToVisual(null); GeneralTransform gt = treeView.TransformToVisual(null); var treeRect = gt.TransformBounds(new Rect(0, 0, treeVi

我能找到一个树状视图项目在屏幕上是否可见吗

我有一些数据要处理,这是沉重的,如果我做的所有项目,我得到了延迟,我想避免

我需要一种有效的方法来测试项目是否在树的可见部分。

GeneralTransform gt=treeView.TransformToVisual(null);
GeneralTransform gt = treeView.TransformToVisual(null);
var treeRect = gt.TransformBounds(new Rect(0, 0, treeView.ActualWidth, treeView.ActualHeight));
var visibleElements = VisualTreeHelper.FindElementsInHostCoordinates(treeRect, treeView);
var treeViewItemsVisibleOnScreen = visibleElements.OfType<TreeViewItem>();
var treestright=gt.TransformBounds(新的Rect(0,0,treeView.ActualWidth,treeView.ActualHeight)); var visibleElements=visualtreeheloper.FindElementsInHostCoordinates(树直立,树视图); var treeViewItemsVisibleOnScreen=visibleElements.OfType();
所谓可见,是指其直接父级已展开吗?或者它实际上是在屏幕上呈现的?让我们简单一点。。可见我的意思是-你实际上可以在屏幕上看到这个项目(它是扩展的,不会在可见区域外滚动)。。通过人眼可见,而不是通过属性可见性。