UIElement.Focus UIElement.Focus UIElement.Focus UIElement.Focus Method

Definición

Intenta establecer el foco en este elemento.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

Devoluciones

Devuelve true si el foco de teclado y el foco lógico se establecieron en este elemento; devuelve false si se estableció únicamente el foco lógico en este elemento o si la llamada a este método no forzó un cambio de foco.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.

Implementaciones

Ejemplos

En el ejemplo siguiente se establece el TextBox foco en una Namereferenciada por y, a continuación, se ajusta la posición TextBoxdel cursor dentro de.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

Comentarios

Para poder recibir el foco Focusable y IsEnabled deben ser trueambos.To be focusable, Focusable and IsEnabled must both be true.

Incluso si el elemento tiene el foco y es válido, Focus los eventos de vista previa se pueden procesar en un árbol específico y se puede centrar en ese elemento (por ejemplo, en un control compuesto).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). En tal caso, este método devuelve false.In such a case, this method returns false.

En general, el foco se controla mediante dos conceptos diferentes: el foco de teclado y el foco lógico.In general, focus is controlled by two different concepts: keyboard focus and logical focus. Estos dos conceptos no son siempre los mismos.These two concepts are not always the same. Para obtener más información, vea información general sobreel Resumen del foco y la entrada.For more information, see Focus summary and Input Overview.

Si la Focus llamada truea IsKeyboardFocused devuelve IsKeyboardFocusWithin , y tambiéntrueson.If calling Focus returns true, IsKeyboardFocused and IsKeyboardFocusWithin are also true.

Si las propiedades relacionadas no están ya true, cuando se llama Focusa, se generan uno o varios de los siguientes eventos en el orden siguiente PreviewLostKeyboardFocus: PreviewGotKeyboardFocus , (el origen es el nuevo destino del IsKeyboardFocusedChangedfoco IsKeyboardFocusWithinChanged),,, LostKeyboardFocus ,GotKeyboardFocus (el origen es el nuevo destino del foco).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).

Para que esta llamada sea correcta, algún otro elemento de la aplicación necesitaba tener el foco previamente.In order for this call to be successful, some other element in the application needed to have focus previously.

Se aplica a