Επεξεργασία

Κοινή χρήση μέσω


ContentElement.Focus Method

Definition

Attempts to set focus to this element.

public:
 virtual bool Focus();
public bool Focus ();
abstract member Focus : unit -> bool
override this.Focus : unit -> bool
Public Function Focus () As Boolean

Returns

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

Implements

Examples

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.

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

Remarks

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).

Applies to

See also