Browse Source

ensure focus-within is removed when focus moves to a different root.

pull/4974/head
Dan Walmsley 5 years ago
parent
commit
d36b7a40df
  1. 5
      src/Avalonia.Input/KeyboardDevice.cs

5
src/Avalonia.Input/KeyboardDevice.cs

@ -147,7 +147,10 @@ namespace Avalonia.Input
{
var interactive = FocusedElement as IInteractive;
if (FocusedElement != null && !FocusedElement.IsAttachedToVisualTree && _focusedRoot != null)
if (FocusedElement != null &&
(!FocusedElement.IsAttachedToVisualTree ||
_focusedRoot != element?.VisualRoot as IInputRoot) &&
_focusedRoot != null)
{
ClearChildrenFocusWithin(_focusedRoot, true);
}

Loading…
Cancel
Save