Поделиться через


UIElement.Focus Метод

Определение

Попытка задать фокус для данного элемента.

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

Возвращаемое значение

Значение true, если для данного элемента задан клавиатурный фокус и логический фокус; значение false, если для данного элемента задан только логический фокус или если вызов данного метода не привел к изменению фокуса.

Реализации

Примеры

В следующем примере устанавливается фокус на объект , TextBox на который ссылается Name, а затем настраивается положение курсора TextBoxв .

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

Комментарии

Чтобы быть фокусируемым, Focusable и IsEnabled оба должны иметь значение true.

Даже если элемент является фокусируемым и допустимым, события предварительного Focus просмотра могут обрабатываться в определенном дереве, а фокусировка на этом элементе может быть запрещена (например, в составном элементе управления). В таком случае этот метод возвращает false.

Как правило, фокус управляется двумя разными понятиями: фокусом клавиатуры и логическим фокусом. Эти два понятия не всегда одинаковы. Дополнительные сведения см. в разделах Сводка фокуса и Общие сведения о входных данных.

Если вызов Focus возвращает true, IsKeyboardFocused и IsKeyboardFocusWithin также trueимеют значение .

Если связанные свойства еще trueне имеют значения , при вызове Focusвызывается одно или несколько из следующих событий в следующем порядке: PreviewLostKeyboardFocus, PreviewGotKeyboardFocus (источник — новый целевой объект фокуса), IsKeyboardFocusedChanged, IsKeyboardFocusWithinChanged, LostKeyboardFocus, GotKeyboardFocus (источник — новый целевой объект фокуса).

Для успешного выполнения этого вызова ранее необходимо было сосредоточиться на другом элементе приложения. Кроме того, когда родительский элемент контейнера вызывает этот метод, в некоторых ситуациях дочерний элемент получает фокус, а возвращаемое значение будет иметь значение false. Чтобы проверить, имеет ли элемент фокус, используйте IsKeyboardFocusWithin свойства и IsKeyboardFocused .

Применяется к