private static IInputElement?FocusedElement(IInputElement e) { var iie = e; // Focus delegation is enabled only if keyboard focus is outside the container if (iie != null && !iie.IsKeyboardFocusWithin) { var focusedElement = (FocusManager.Instance as FocusManager)?.GetFocusedElement(e); if (focusedElement != null) { if (!IsFocusScope(e)) { // Verify if focusedElement is a visual descendant of e if (focusedElement is IVisual visualFocusedElement && visualFocusedElement != e && e.IsVisualAncestorOf(visualFocusedElement)) { return(focusedElement); } } } } return(null); }