Browse Source

Merge pull request #11535 from YohDeadfall/fix-dismiss-overlay

Ignore non hittable elements on hit test in `LightDismissOverlayLayer`
pull/11563/head
Dan Walmsley 3 years ago
committed by GitHub
parent
commit
e40bcd9432
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      src/Avalonia.Controls/Primitives/LightDismissOverlayLayer.cs

5
src/Avalonia.Controls/Primitives/LightDismissOverlayLayer.cs

@ -46,13 +46,12 @@ namespace Avalonia.Controls.Primitives
return manager?.LightDismissOverlayLayer; return manager?.LightDismissOverlayLayer;
} }
/// <inheritdoc />
public bool HitTest(Point point) public bool HitTest(Point point)
{ {
if (InputPassThroughElement is Visual v) if (InputPassThroughElement is Visual v)
{ {
var hit = ((Visual?)VisualRoot)?.GetVisualAt(point, x => x != this); if (VisualRoot is IInputElement ie && ie.InputHitTest(point, x => x != this) is Visual hit)
if (hit is object)
{ {
return !v.IsVisualAncestorOf(hit); return !v.IsVisualAncestorOf(hit);
} }

Loading…
Cancel
Save