UIElement.Focus Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 true
son .
Si las propiedades relacionadas aún no true
son , 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
.