FrameworkElement.MoveFocus(TraversalRequest) 方法

定义

以提供的遍历方向将键盘焦点从此元素移到其他元素上。Moves the keyboard focus away from this element and to another element in a provided traversal direction.

public:
 override bool MoveFocus(System::Windows::Input::TraversalRequest ^ request);
public override sealed bool MoveFocus (System.Windows.Input.TraversalRequest request);
override this.MoveFocus : System.Windows.Input.TraversalRequest -> bool
Public Overrides NotOverridable Function MoveFocus (request As TraversalRequest) As Boolean

参数

request
TraversalRequest

焦点要移动的方向,作为一个枚举值。The direction that focus is to be moved, as a value of the enumeration.

返回

如果焦点移动成功,则返回 true;如果指定方向上不存在目标元素,或者未能将键盘焦点移到目标元素上,则返回 falseReturns true if focus is moved successfully; false if the target element in direction as specified does not exist or could not be keyboard focused.

示例

下面的示例实现处理几个可能的按钮输入的处理程序。The following example implements a handler that handles several possible button inputs. 每个按钮都表示一个可能的 FocusNavigationDirectionEach button represents a possible FocusNavigationDirection. 处理程序使用当前的键盘焦点跟踪元素,并通过将相应的 FocusNavigationDirection 指定为提供的 TraversalRequest 类型参数的初始化,对该元素调用 MoveFocusThe handler tracks the element with current keyboard focus, and calls MoveFocus on that element, by specifying the appropriate FocusNavigationDirection as initialization for the TraversalRequest type parameter provided.

// Creating a FocusNavigationDirection object and setting it to a
// local field that contains the direction selected.
FocusNavigationDirection focusDirection = _focusMoveValue;

// MoveFocus takes a TraveralReqest as its argument.
TraversalRequest request = new TraversalRequest(focusDirection);

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

// Change keyboard focus.
if (elementWithFocus != null)
{
    elementWithFocus.MoveFocus(request);
}
' Creating a FocusNavigationDirection object and setting it to a
' local field that contains the direction selected.
Dim focusDirection As FocusNavigationDirection = _focusMoveValue

' MoveFocus takes a TraveralReqest as its argument.
Dim request As New TraversalRequest(focusDirection)

' Gets the element with keyboard focus.
Dim elementWithFocus As UIElement = TryCast(Keyboard.FocusedElement, UIElement)

' Change keyboard focus.
If elementWithFocus IsNot Nothing Then
    elementWithFocus.MoveFocus(request)
End If

注解

此实现将重写 UIElement.MoveFocus 并密封方法。This implementation overrides UIElement.MoveFocus and seals the method.

适用于

另请参阅