轨道“;“命令”;通过触摸板(竹子)发送到WPF窗口

轨道“;“命令”;通过触摸板(竹子)发送到WPF窗口,wpf,command,Wpf,Command,我刚买了一个触摸板,可以画画和使用多点触摸。windows 7不完全支持该api,因此我必须依赖内置配置对话框 基本功能正在发挥作用,因此,如果我在WPF工具中绘制一些东西,并使用两根手指右键单击,我可以更改颜色。我现在想做的是为WPF中的特殊特性分配其他函数 有人知道如何找出pad与应用程序的通信方式吗?例如,在Firefox中,它可以像应该的那样滚动(如图所示)。但我不知道如何连接scroll事件,我尝试了Scrollviewer(它忽略了我的滚动尝试),我还连接了一个事件,按下了键,但它没

我刚买了一个触摸板,可以画画和使用多点触摸。windows 7不完全支持该api,因此我必须依赖内置配置对话框

基本功能正在发挥作用,因此,如果我在WPF工具中绘制一些东西,并使用两根手指右键单击,我可以更改颜色。我现在想做的是为WPF中的特殊特性分配其他函数

有人知道如何找出pad与应用程序的通信方式吗?例如,在Firefox中,它可以像应该的那样滚动(如图所示)。但我不知道如何连接scroll事件,我尝试了Scrollviewer(它忽略了我的滚动尝试),我还连接了一个事件,按下了键,但它没有启动(我假设pad没有“按一个键”,但以某种方式直接发送“scroll”命令。我如何在WPF中捕获该命令

非常感谢, 克里斯

[编辑]我让滚动开始工作,但只是上下滚动,而不是左右滚动。这只是一个愚蠢的“scrollviewer中的列表框”错误。但仍然不确定像“放大”这样的命令(即使在绘画中也能工作)…哪个API包含这样的东西

[EDIT2]有趣的是,在Firefox中缩放可以工作,而水平滚动不能。但是,在paint中,水平滚动可以工作

[编辑3]刚刚在wacom论坛上提问,让我们看看供应商支持的反应时间。。。

下面是一张配置图面,以了解我所说的内容:(竹设置,我尝试在WPF中捕获这些命令)

你看过了吗


WPF 3.5本机不支持多点触摸(它将在WPF 4.0中推出),但是该工具包中的示例应该让您开始使用Windows7集成库,该库访问本机Win32 API以提供所需的支持(不要担心它不是真的难看:).

谢谢,实验室看起来很有趣,但这对我的问题不起作用。我没有使用新的windows 7 API的多点触摸显示器(我有一些漂亮的笔记本电脑)。竹子似乎能自己识别多点触摸,并将其转换为“默认命令”,如滚动或缩放。滚动(仅向上和向下)似乎无处不在(似乎模仿鼠标滚轮)。因此,这是一个更一般的问题,例如,WPF中如何定义水平滚动..啊,我现在明白了。是的,竹驱动程序可能正在生成一些Win32消息,这些响应的应用程序(Paint和Firefox)正在侦听这些消息。对不起,我看不懂德语:)但是,您可以通过该配置将事件类型分配给您正在执行的操作吗?我使用Wacom平板电脑以更简单的形式完成了这项工作,例如,将Barrell单击映射到鼠标右键单击。您最好的选择是确定每个平板电脑操作生成的WPF事件类型,然后根据需要响应这些事件。StylusButtonEventArgs中隐藏了一些有用的信息,例如,如果你深入到…源或设备(我现在不记得是哪个),你会得到一个按钮id值(我认为StylusButton.id或类似的隐藏在某处)。现在,对于单触、多触等,该值很可能会有所不同,即使调用了相同的事件处理程序。所以,是的,只要尝试所有的手写笔事件和鼠标事件并深入研究参数,你就会在某个地方找到识别不同动作的方法。在Charles Petzolds Application=Code+Markup中,有少量代码用于捕获和检查所有不同的事件,因此这可能有助于您开始。