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

lan*_*nce 7 c# wpf mouse textbox lost-focus

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

处理程序采用a KeyboardFocusChangedEventArgs,它有一个名为的属性KeyboardDevice,在任一场景中都不为null(我希望null在使用鼠标时可以在这里找到).

问题:如何判断用户是否使用键盘或鼠标离开WPF TextBox?

Phi*_*mid 3

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

  • (当使用鼠标改变焦点时)
  • 向下、切换(当使用 TAB 离开文本框时)

这对你有用吗?