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
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 .