问题描述
|
我有一个TextBox的
PreviewLostKeyboardFocus
事件的处理程序。当我使用键盘(Tab键)或鼠标(通过单击表单上的另一个TextBox)离开TextBox时,它将触发。
该处理程序使用一个KeyboardFocusChangedEventArgs
,它具有一个名为KeyboardDevice
的属性,在两种情况下都不为空(我希望在使用鼠标时在此处找到null
)。
问题:如何判断用户是使用键盘还是鼠标离开了WPF TextBox?
解决方法
e.KeyboardDevice.GetKeyStates(Key.Tab)(其中e为KeyboardFocusChangedEventArgs类型)报告:
无(使用鼠标更改焦点时)
向下,切换(使用TAB离开文本框时)
那对你有用吗?