UIElement.Focus 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
尝试将焦点设定到此元素上。
public:
virtual bool Focus();
public bool Focus ();
abstract member Focus : unit -> bool
override this.Focus : unit -> bool
Public Function Focus () As Boolean
返回
如果键盘焦点和逻辑焦点同时设定到此元素上,则为 true
;如果只有逻辑焦点设定到此元素上或此方法调用未强制更改焦点,则为 false
。
实现
示例
以下示例将焦点设置为 TextBox 引用 Name的 ,然后调整光标在 中 TextBox的位置。
void OnClickMoveToStart(object sender, RoutedEventArgs e)
{
tbPositionCursor.Focus();
tbPositionCursor.Select(0, 0);
}
Private Sub OnClickMoveToStart(ByVal sender As Object, ByVal e As RoutedEventArgs)
tbPositionCursor.Focus()
tbPositionCursor.Select(0, 0)
End Sub
注解
若要可聚焦, Focusable 且 IsEnabled 必须都是 true
。
即使元素可聚焦且有效, Focus
预览事件也可能在特定树中处理,并且可能不允许 (在复合控件) 中关注该元素。
在这种情况下,此方法返回 false
。
通常,焦点由两个不同的概念控制:键盘焦点和逻辑焦点。 这两个概念并不总是相同的。 有关详细信息,请参阅 焦点摘要 和 输入概述。
如果调用 Focus 返回 true
, IsKeyboardFocused 则 和 IsKeyboardFocusWithin 也是 true
。
如果相关属性不是 true
,则调用 Focus时,将按以下顺序引发一个或多个以下事件:PreviewLostKeyboardFocus、 PreviewGotKeyboardFocus (source 是新的焦点目标) 、IsKeyboardFocusedChanged、IsKeyboardFocusWithinChanged、 LostKeyboardFocusGotKeyboardFocus (source 是新的焦点目标) 。
为了使此调用成功,应用程序中的其他一些元素之前需要具有焦点。
适用于
反馈
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:提交和查看相关反馈