c#-WPF的IsKeyboardFocusWithin属性的UWP替代

WPFIsKeyboardFocusWithin属性是否有UWP替代品?如果没有,您将如何获取焦点是否在其内部.

我宁愿不要手动在可视树上手动检查每个元素是否集中…

解决方法:

FocusManager.GetFocusedElement将标识焦点元素.然后,您可以使用VisualTreeHelper.GetParent在可视树上行走,以查看它是否是您感兴趣的控件的子级.与逐个节点逐节点检查整个树相比,行走的重量要轻得多.

就像是:

    bool IsKeyboardFocusWithin(UIElement element)
    {
        UIElement focused = FocusManager.GetFocusedElement() as UIElement;

        while (focused != null)
        {
            if (focused == element)
            {
                return true;
            }
            focused = VisualTreeHelper.GetParent(focused) as UIElement;
        }
        return false;
    }
上一篇:[UWP]使用CompositionLinearGradientBrush实现渐变画笔并制作动画


下一篇:WPF之后的C#代码中的XPath