UIElement.Focus Метод

Определение

Попытка задать фокус для данного элемента.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

Возвраты

Значение true, если для данного элемента задан клавиатурный фокус и логический фокус; значение false, если для данного элемента задан только логический фокус или если вызов данного метода не привел к изменению фокуса.true if keyboard focus and logical focus were set to this element; false if only logical focus was set to this element, or if the call to this method did not force the focus to change.

Реализации

Примеры

В следующем примере фокус устанавливается на TextBox, на который ссылается Name, а затем настраивается расположение курсора в TextBox.The following example sets focus to a TextBox referenced by Name, and then adjusts the position of the cursor within the 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ы.To be focusable, Focusable and IsEnabled must both be true.

Даже если элемент находится в фокусе и является допустимым, события предварительной версии Focus могут обрабатываться в определенном дереве, и фокус на этом элементе может быть запрещен (например, в составном элементе управления).Even if the element is focusable and valid, the Focus preview events may be processed in a specific tree, and focus on that element may not be allowed (for example, in a composite control). В этом случае этот метод возвращает false.In such a case, this method returns false.

Как правило, управление фокусом осуществляется двумя разными концепциями: фокус клавиатуры и логический фокус.In general, focus is controlled by two different concepts: keyboard focus and logical focus. Эти две концепции не всегда одинаковы.These two concepts are not always the same. Дополнительные сведения см. в разделе Сводка фокуса и Общие сведения о входе.For more information, see Focus summary and Input Overview.

Если вызов Focus возвращает true, IsKeyboardFocused и IsKeyboardFocusWithin также true.If calling Focus returns true, IsKeyboardFocused and IsKeyboardFocusWithin are also true.

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

Чтобы этот вызов был успешным, другой элемент в приложении должен был получить фокус ранее.In order for this call to be successful, some other element in the application needed to have focus previously.

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