c# silverlight controls textbox focus

c# - Detectando el enfoque de un control en Silverlight



controls textbox (2)

¿Hay alguna manera de saber si un control (específicamente un System.Windows.Controls.TextBox) está enfocado en Silverlight? Estoy buscando algo como lo siguiente (lo que verías en una aplicación .Net regular):

textBox.Focused

Esto parece algo simple y trivial para dejar de lado un control y, sin embargo, no puedo encontrar una respuesta en ningún lado.

Actualizar

Una solución ligeramente más elegante, que incorpora la respuesta de Rob, es crear un método de extensión así:

public static bool IsFocused( this Control control ) { return FocusManager.GetFocusedElement() == control; }


Tan pronto como tenga un control que consiste en más de un elemento de entrada (que debe tener un enfoque para manejar la entrada del usuario), le pedirá al FocusManager que no haga más el truco. Prueba esto:

private bool HasFocus { get; set; } protected override void OnGotFocus( RoutedEventArgs e ) { base.OnGotFocus( e ); HasFocus = true; } protected override void OnLostFocus( RoutedEventArgs e ) { base.OnLostFocus( e ); HasFocus = false; }


Tienes que usar FocusManager

bool b = FocusManager.GetFocusedElement() == textBox;