0

我能以某种方式找到树视图项目是否在屏幕上可见吗?

我有一些数据要处理,这些数据很重,如果我对所有项目都这样做,我会遇到我想避免的延迟。

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

4

1 回答 1

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>();
于 2013-03-16T15:29:33.880 回答