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
.