用户是否使用键盘或鼠标离开WPF文本框



我有一个TextBox的PreviewLostKeyboardFocus事件的处理程序。当我使用键盘(Tab键)或鼠标(通过单击表单上的另一个TextBox)离开TextBox时,它会触发。

该处理程序接受一个KeyboardFocusChangedEventArgs,它有一个名为KeyboardDevice的属性,在任何一种情况下都不是null(我希望在使用鼠标时在这里找到null)。

问题:如何判断用户是使用键盘还是鼠标离开WPF文本框?

e.KeyboardDevice.GetKeyStates(Key.Tab)(其中e为KeyboardFocusChangedEventArgs类型)报告:

  • (使用鼠标更改焦点时)
  • 向下,切换(使用TAB键离开TextBox时)

这对你有用吗?

最新更新