ContentElement.Focus Method ()


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Attempts to set focus to this element.

Namespace:   System.Windows
Assembly:  PresentationCore (in PresentationCore.dll)

Public Function Focus As Boolean

Return Value

Type: System.Boolean

true if keyboard focus could be set to this element; false if this method call did not force focus.

To be focusable, Focusable and IsEnabled must both be true. Note that nearly all ContentElement derived classes are not Focusable by default.

Even if an element is focusable and enabled, event handling within a specific tree, (such as for a composite control) might respond to the preview focus events by not allowing focus there, thus this method would return false.

Focus in general is governed by two separate concepts: keyboard focus and logical focus, which are not always identical. This method sets the logical focus. There is no programmatic means to set keyboard focus specifically; keyboard focus is determined by user input. For more information, see Focus Overview and Input Overview.

If calling Focus returns true, IsKeyboardFocused and IsKeyboardFocusWithin are also true.

If the related properties are not already true, when you call Focus, one or more of the following events are raised in the following order: PreviewLostKeyboardFocus, PreviewGotKeyboardFocus (source is the new focus target), IsKeyboardFocusedChanged, IsKeyboardFocusWithinChanged, LostKeyboardFocus, GotKeyboardFocus (source is the new focus target).

The following example is a page-loaded event handler that finds a specified named paragraph in the document and sets focus to it. Paragraphs are not focusable by default; this particular paragraph had a style applied (not shown) that used a style Setter to make it focusable.

Private Sub FocusOnParagraph(ByVal sender As Object, ByVal e As RoutedEventArgs)
  Dim ce As ContentElement = TryCast(Me.FindName("focusableP"), ContentElement)
End Sub

.NET Framework
Available since 3.0
Return to top