c# - ¿El usuario usó el teclado o el mouse para salir de WPF TextBox?
lost-focus (1)
Tengo un controlador para el evento PreviewLostKeyboardFocus
de TextBox. Se dispara cuando salgo del TextBox usando el teclado (tecla Tab) o el mouse (haciendo clic en otro TextBox en el formulario).
El controlador toma un KeyboardFocusChangedEventArgs
, que tiene una propiedad llamada KeyboardDevice
, que no es nula en ninguno de los escenarios (esperaba encontrar un null
aquí al usar el mouse).
Pregunta: ¿Cómo puedo saber si un usuario usó el teclado o el mouse para dejar un WPF TextBox?
El e.KeyboardDevice.GetKeyStates (Key.Tab) (donde e es de tipo KeyboardFocusChangedEventArgs) informa:
- Ninguno (cuando se usó el mouse para cambiar el foco)
- Down, Toggled (cuando se usó TAB para salir del TextBox)
¿Eso funcionaría para ti?