Udostępnij za pośrednictwem


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 wymusiło zmiany fokusu.

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 można było się skupić, Focusable i IsEnabled musi to być truezarówno .

Nawet jeśli element jest fokusowy i prawidłowy, Focus zdarzenia podglądu mogą być przetwarzane w określonym drzewie, a fokus na tym elemecie może być niedozwolony (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 truewartość , IsKeyboardFocused i IsKeyboardFocusWithin są również true.

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

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

Dotyczy