ContentElement.Focus 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
尝试将焦点设置为此元素。
public:
virtual bool Focus();
public bool Focus();
abstract member Focus : unit -> bool
override this.Focus : unit -> bool
Public Function Focus () As Boolean
返回
实现
示例
下面的示例是一个页面加载的事件处理程序,它查找文档中的指定命名段落并将焦点设置为该段落。 段落默认不可聚焦;此特定段落应用了一个样式(未显示),该样式使用样式 Setter 使其可聚焦。
void FocusOnParagraph(object sender, RoutedEventArgs e)
{
ContentElement ce = this.FindName("focusableP") as ContentElement;
ce.Focus();
}
Private Sub FocusOnParagraph(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim ce As ContentElement = TryCast(Me.FindName("focusableP"), ContentElement)
ce.Focus()
End Sub
注解
要集中, FocusableIsEnabled 必须同时具有二者 true。 请注意,默认情况下并非所有 ContentElement 派生类 Focusable 。
即使元素可聚焦并启用,特定树中的事件处理(如复合控件)也可能通过不允许焦点来响应预览焦点事件,因此此方法将返回 false。
焦点通常由两个单独的概念控制:键盘焦点和逻辑焦点,这并不总是相同的。 此方法设置逻辑焦点。 没有专门设置键盘焦点的编程方式;键盘焦点由用户输入确定。 有关详细信息,请参阅 焦点概述 和 输入概述。
如果调用 Focus 返回 true, IsKeyboardFocused 并且 IsKeyboardFocusWithin 也是 true。
如果相关属性尚未true调用Focus,则按以下顺序引发以下一个或多个事件: PreviewLostKeyboardFocusPreviewGotKeyboardFocus (源是新的焦点目标)、IsKeyboardFocusedChanged、IsKeyboardFocusWithinChanged、 LostKeyboardFocusGotKeyboardFocus (源是新的焦点目标)。