FrameworkElement.OnGotFocus(RoutedEventArgs) 方法

定义

每当未处理的 GotFocus 事件在其路由中到达此元素时调用。

protected:
 override void OnGotFocus(System::Windows::RoutedEventArgs ^ e);
protected override void OnGotFocus (System.Windows.RoutedEventArgs e);
override this.OnGotFocus : System.Windows.RoutedEventArgs -> unit
Protected Overrides Sub OnGotFocus (e As RoutedEventArgs)

参数

e
RoutedEventArgs

包含事件数据的 RoutedEventArgs

注解

与基元素公开的一些其他 On* 方法不同, OnGotFocus 它具有默认实现。 具体而言,它具有一个实现,该实现替代下一级基元素的 OnGotFocusnull 实现。 调用时, OnGotFocus 如果事件由于键盘焦点而源自当前元素,则在此元素上设置适当的焦点行为。 处理程序 OnGotFocus 不会将事件参数标记为已处理,即使焦点设置为当前元素也是如此。 如果事件的源是树中的另一个元素 (不是当前元素) ,则处理程序不执行任何操作。

可以重写此方法以更改元素上的默认焦点行为,但请注意,通过不允许元素完全可聚焦 (看到 Focusable) ,可以更好地以这种方式更改焦点行为。

继承者说明

如果打算标记在参数中处理的事件,应注意元素树中其他父元素中事件处理的后果。 由于此处理程序作用于具有浮升路由的事件,因此可能不适合将焦点设置为每个事件参数的当前 sender 。 焦点可能需要转到复合子元素或父元素,具体取决于某些控件的组合。 因此,仅当事件通过的整个可视化树是你创作的控件组合的一部分时,才建议将焦点事件标记为已处理。

适用于

另请参阅