FrameworkElement.OnGotFocus(RoutedEventArgs) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
每当未处理的 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)
参数
包含事件数据的 RoutedEventArgs。
注解
与基元素公开的一些其他 On* 方法不同, OnGotFocus 它具有默认实现。 具体而言,它具有一个实现,该实现替代下一级基元素的 OnGotFocusnull 实现。 调用时, OnGotFocus 如果事件由于键盘焦点而源自当前元素,则在此元素上设置适当的焦点行为。 处理程序 OnGotFocus 不会将事件参数标记为已处理,即使焦点设置为当前元素也是如此。 如果事件的源是树中的另一个元素 (不是当前元素) ,则处理程序不执行任何操作。
可以重写此方法以更改元素上的默认焦点行为,但请注意,通过不允许元素完全可聚焦 (看到 Focusable) ,可以更好地以这种方式更改焦点行为。
继承者说明
如果打算标记在参数中处理的事件,应注意元素树中其他父元素中事件处理的后果。 由于此处理程序作用于具有浮升路由的事件,因此可能不适合将焦点设置为每个事件参数的当前 sender
。 焦点可能需要转到复合子元素或父元素,具体取决于某些控件的组合。 因此,仅当事件通过的整个可视化树是你创作的控件组合的一部分时,才建议将焦点事件标记为已处理。