Compartir vía


UIElement.Focus Método

Definición

Intenta establecer el foco en este elemento.

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.

Implementaciones

Ejemplos

En el ejemplo siguiente se establece el foco en un TextBox objeto al que hace Namereferencia y, a continuación, se ajusta la posición del cursor dentro TextBoxde .

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 centrarse, Focusable y IsEnabled deben ser true.

Incluso si el elemento se puede centrar y es válido, los Focus eventos de vista previa se pueden procesar en un árbol específico y centrarse en ese elemento puede no estar permitido (por ejemplo, en un control compuesto). En tal caso, este método devuelve false.

En general, el foco se controla mediante dos conceptos diferentes: el foco del teclado y el foco lógico. Estos dos conceptos no siempre son los mismos. Para obtener más información, vea Resumen de foco e Introducción a la entrada.

Si la llamada a Focus devuelve true, IsKeyboardFocused y IsKeyboardFocusWithin también trueson .

Si las propiedades relacionadas aún no trueson , cuando se llama a Focus, se generan uno o varios de los siguientes eventos en el siguiente orden: PreviewLostKeyboardFocus, PreviewGotKeyboardFocus (el origen es el nuevo destino de foco), IsKeyboardFocusedChanged, IsKeyboardFocusWithinChanged, LostKeyboardFocus, GotKeyboardFocus (origen es el nuevo destino de foco).

Para que esta llamada se realice correctamente, algún otro elemento de la aplicación necesitaba tener el foco anteriormente. Además, cuando un elemento contenedor primario llama a este método, en determinadas situaciones, el elemento secundario obtiene el foco y el valor devuelto será false. Para probar si el elemento tiene el foco, use las IsKeyboardFocusWithin propiedades y IsKeyboardFocused .

Se aplica a