WPF 基础服务与输入设备详解
1. 输入设备通信
输入设备的对象模型结构相似,都有一个静态服务类(如 Keyboard 、 Mouse 、 Stylus 或 Tablet )和一个设备类(如 KeyboardDevice 、 MouseDevice 等)。静态服务类提供全局功能,如附加到直接输入事件和检索设备;设备类提供特定设备的功能。常见设备主实例的属性通常会提升到静态服务类中。
以键盘为例,在 KeyChordItemGesture 实现中,通过 Keyboard 类检索修饰键的当前状态:
public override bool Matches(
object targetElement, InputEventArgs inputEventArgs) {
KeyEventArgs e = inputEventArgs as KeyEventArgs;
if (e != null) {
return e.Key == Key && Keyboard.Modifiers == Modifiers;
}
return false;
}
Keyboard.Modifiers 是一个静态属性,实际上调用的是 Keyboard.PrimaryDevice.Modi
超级会员免费看
订阅专栏 解锁全文
1738

被折叠的 条评论
为什么被折叠?



