diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/VisualNode.cs b/src/Avalonia.Visuals/Rendering/SceneGraph/VisualNode.cs index d2a9e0a673..93d68e5230 100644 --- a/src/Avalonia.Visuals/Rendering/SceneGraph/VisualNode.cs +++ b/src/Avalonia.Visuals/Rendering/SceneGraph/VisualNode.cs @@ -280,8 +280,13 @@ namespace Avalonia.Rendering.SceneGraph /// public bool HitTest(Point p) { - foreach (var operation in DrawOperations) + var drawOperations = DrawOperations; + var drawOperationsCount = drawOperations.Count; + + for (var i = 0; i < drawOperationsCount; i++) { + var operation = drawOperations[i]; + if (operation?.Item?.HitTest(p) == true) { return true;