问题
I have a handler for the TextBox's PreviewLostKeyboardFocus
event. It fires when I leave the TextBox using the keyboard (Tab key) or the mouse (by clicking on another TextBox on the form).
The handler takes a KeyboardFocusChangedEventArgs
, which has a property named KeyboardDevice
, which isn't null in either scenario (I was hoping to find null
here when using the mouse).
Question: How can I tell whether a user used the keyboard or the mouse to leave a WPF TextBox?
回答1:
The e.KeyboardDevice.GetKeyStates(Key.Tab) (where e is of type KeyboardFocusChangedEventArgs) reports:
- None (when mouse was used to change focus)
- Down, Toggled (when TAB was use to leave the TextBox)
Would that work for you?
来源:https://stackoverflow.com/questions/6344652/did-user-use-keyboard-or-mouse-to-leave-wpf-textbox