FrameworkElement.MoveFocus(TraversalRequest) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
以提供的遍历方向将键盘焦点从此元素移到其他元素上。
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
焦点要移动的方向,作为一个枚举值。
返回
如果焦点移动成功,则返回 true
;如果指定方向上不存在目标元素,或者未能将键盘焦点移到目标元素上,则返回 false
。
示例
以下示例实现一个处理程序,用于处理多个可能的按钮输入。 每个按钮都表示一个可能的 FocusNavigationDirection。 处理程序跟踪具有当前键盘焦点的元素,并通过指定相应的 FocusNavigationDirection 作为所提供的类型参数的初始化来调用MoveFocus该TraversalRequest元素。
// 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 并密封 方法。