UIElement.Focus Metoda

Definicja

Próbuje ustawić fokus na ten element.

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

Zwraca

true jeśli fokus klawiatury i fokus logiczny zostały ustawione na ten element; false jeśli tylko fokus logiczny został ustawiony na ten element, lub jeśli wywołanie tej metody nie zmusiło fokusu do zmiany.

Implementuje

Przykłady

W poniższym przykładzie ustawia fokus na TextBox przywołyny przez Nameelement , a następnie dostosowuje położenie kursora TextBoxw obiekcie .

void OnClickMoveToStart(object sender, RoutedEventArgs e)
{
    tbPositionCursor.Focus();
    tbPositionCursor.Select(0, 0);
}
Private Sub OnClickMoveToStart(ByVal sender As Object, ByVal e As RoutedEventArgs)

    tbPositionCursor.Focus()
    tbPositionCursor.Select(0, 0)

End Sub

Uwagi

Aby być fokusem, Focusable i IsEnabled musi mieć truewartość .

Nawet jeśli element jest fokusowy i prawidłowy, Focus zdarzenia podglądu mogą być przetwarzane w określonym drzewie i skupić się na tym elemercie może być niedozwolone (na przykład w kontrolce złożonej). W takim przypadku ta metoda zwraca wartość false.

Ogólnie rzecz biorąc, fokus jest kontrolowany przez dwie różne koncepcje: fokus klawiatury i fokus logiczny. Te dwie koncepcje nie zawsze są takie same. Aby uzyskać więcej informacji, zobacz Podsumowanie fokusu i Omówienie danych wejściowych.

Jeśli wywołanie Focus zwraca wartość true, IsKeyboardFocused i IsKeyboardFocusWithin są również true.

Jeśli powiązane właściwości nie są jeszcze true, podczas wywoływania Focusmetody , co najmniej jedno z następujących zdarzeń są zgłaszane w następującej kolejności: PreviewLostKeyboardFocus, PreviewGotKeyboardFocus (źródło jest nowym celem fokusu), IsKeyboardFocusedChanged, , IsKeyboardFocusWithinChangedLostKeyboardFocus, GotKeyboardFocus (źródłem jest nowy cel fokusu).

Aby to wywołanie powiodło się, niektóre inne elementy w aplikacji musiały mieć wcześniej fokus. Ponadto gdy element kontenera nadrzędnego wywołuje tę metodę, w niektórych sytuacjach element podrzędny uzyskuje fokus, a zwracana wartość to false. Aby sprawdzić, czy element ma fokus, użyj IsKeyboardFocusWithin właściwości i IsKeyboardFocused .

Dotyczy