我尝试创建一个可以通过多点触控手势移动或调整大小的窗口。我试过这样。我捕获了窗口的 TouchDown-Event 并将所有活动的 TouchDevices 保存在一个列表中,以了解哪些 TouchDevices 是活动的。我捕捉到 TouchDevices 的更新和停用事件,以了解它们何时被移动以及何时被停用。我保存了 Window 的 Left 和 Top 属性以及 TouchDevice 开始的位置,每次调用 Updated 事件时,我都会将 Window 移动到相对于 TouchDevice 的新位置的新位置。如果我移动手指,这将起作用。但是,如果我不移动手指(或只是很少移动),窗口会突然开始摇晃(移动混乱),然后很快消失到屏幕外的某个位置。
我认为这里的问题是,TouchDevice 的函数“GetTouchPoint”只给出与窗口相关的相对坐标(即使我将参数设置为 null 而不是窗口引用)。并且因为 Window 移动了 TouchDevice 的相对位置(即不移动)也发生了变化。所以我做了一个研究,但没能找到一种方法来确定触摸设备的屏幕坐标。
所以我希望任何人都可以帮助我如何获得TouchDevice的绝对坐标。或者可以帮助我找到另一种通过触摸“拖动”窗口的方法。(我尝试了 DragMove,但这仅适用于鼠标点击,而不适用于 TouchDowns)此外,我喜欢在两个触摸设备处于活动状态时调整窗口大小,因此我也需要绝对坐标,否则会发生相同的效果。