0
我能否以某种方式查找屏幕上是否显示树形视图项目?如何知道何时在屏幕上显示树形视图项目?
我有一些数据来处理哪些是沉重的,如果我为所有项目做了我得到的延迟,我想避免。
我需要高效方法来测试项目是否在树的可见部分。
我能否以某种方式查找屏幕上是否显示树形视图项目?如何知道何时在屏幕上显示树形视图项目?
我有一些数据来处理哪些是沉重的,如果我为所有项目做了我得到的延迟,我想避免。
我需要高效方法来测试项目是否在树的可见部分。
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-15 19:22:18
让我们变得简单..可见我的意思是 - 你实际上可以在屏幕上看到这个项目(它被展开并且不在可见区域之外滚动)..人眼可见而不是属性可见性。 – 2013-03-15 21:36:22