用户是否使用键盘或鼠标离开WPF TextBox?

问题描述

| 我有一个TextBox
PreviewLostKeyboardFocus
事件的处理程序。当我使用键盘(Tab键)或鼠标(通过单击表单上的另一个TextBox)离开TextBox时,它将触发。 该处理程序使用一个
KeyboardFocusChangedEventArgs
,它具有一个名为
KeyboardDevice
属性,在两种情况下都不为空(我希望在使用鼠标时在此处找到
null
)。 问题:如何判断用户是使用键盘还是鼠标离开了WPF TextBox?     

解决方法

        e.KeyboardDevice.GetKeyStates(Key.Tab)(其中e为KeyboardFocusChangedEventArgs类型)报告: 无(使用鼠标更改焦点时) 向下,切换(使用TAB离开文本框时) 那对你有用吗?