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

时间:2013-03-15 16:38:58

标签: silverlight silverlight-5.0

我可以以某种方式查找屏幕上是否显示树视图项目吗?

我有一些要处理的数据很重,如果我为所有项目执行此操作,我会延迟,我想避免。

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

1 个答案:

答案 0 :(得分:1)

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>();
相关问题