如何以编程方式导航WPF UI元素制表位?

Mic*_*itt 8 navigation keyboard wpf tabstop

谁能告诉我如何以编程方式浏览WPF应用程序中的所有UI元素制表位?我想从第一个制表位开始嗅探相应的元素,访问下一个制表位,嗅探相应的元素,依此类推,直到我到达最后一个制表位.

谢谢, - 迈克

gco*_*res 27

您使用MoveFocus执行此操作,如此MSDN文章中所示,该文章解释了有关焦点的所有内容:焦点概述.

下面是一些示例代码,以获取下一个关注元素(从该文章中获取,稍作修改).

// MoveFocus takes a TraversalRequest as its argument.
TraversalRequest request = new TraversalRequest(FocusNavigationDirection.Next);

// Gets the element with keyboard focus.
UIElement elementWithFocus = Keyboard.FocusedElement as UIElement;

// Change keyboard focus.
if (elementWithFocus != null) 
{
    elementWithFocus.MoveFocus(request);
}
Run Code Online (Sandbox Code Playgroud)