ツリー ビュー アイテムが画面に表示されているかどうかをどうにかして見つけることはできますか?
処理するデータが重いのですが、すべてのアイテムに対してそれを行うと、回避したい遅延が発生します。
アイテムがツリーの可視部分にあるかどうかをテストする効率的な方法が必要です。
ツリー ビュー アイテムが画面に表示されているかどうかをどうにかして見つけることはできますか?
処理するデータが重いのですが、すべてのアイテムに対してそれを行うと、回避したい遅延が発生します。
アイテムがツリーの可視部分にあるかどうかをテストする効率的な方法が必要です。
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>();