diff --git a/src/Avalonia.Controls/Primitives/OverlayLayer.cs b/src/Avalonia.Controls/Primitives/OverlayLayer.cs index 231743bd0c..487a5e91e4 100644 --- a/src/Avalonia.Controls/Primitives/OverlayLayer.cs +++ b/src/Avalonia.Controls/Primitives/OverlayLayer.cs @@ -1,9 +1,10 @@ using System.Linq; +using Avalonia.Rendering; using Avalonia.VisualTree; namespace Avalonia.Controls.Primitives { - public class OverlayLayer : Canvas + public class OverlayLayer : Canvas, ICustomSimpleHitTest { public Size AvailableSize { get; private set; } public static OverlayLayer GetOverlayLayer(IVisual visual) @@ -21,6 +22,11 @@ namespace Avalonia.Controls.Primitives return null; } + public bool HitTest(Point point) + { + return Children.Any(ctrl => ctrl.TransformedBounds?.Contains(point) == true); + } + protected override Size ArrangeOverride(Size finalSize) { // We are saving it here since child controls might need to know the entire size of the overlay