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

true si el foco del teclado y el foco lógico se establecieron en este elemento; false si solo se estableció el foco lógico en este elemento o si la llamada a este método no obligó al foco a cambiar.

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 de 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 centrarse, Focusable y IsEnabled debe 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 enfoque 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 truey IsKeyboardFocusedIsKeyboardFocusWithin también truees .

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

Para que esta llamada sea correcta, 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