当我在我的 Surface 表上放置一个字节标签时,标签可视化器应能识别该标签,并在标签对象下方显示标签可视化(只是一个黑色圆圈)。
在我的标签可视化下方是一个 WPF Bing 地图控件。
问题是:地图将识别的标签视为接触点。对于将标签放置在屏幕上时产生的 TouchFrameEventArgs e:
e.GetTouchPoints(myMap)
Count = 1
[0]: {Microsoft.Surface.Presentation.Input.SurfaceTouchPoint}
即使此 touchPoint 的 TouchDevice 由 TagVisualizer 而不是地图捕获,地图控件也会获得一个触摸点:
_touchPoint.TouchDevice.Captured.ToString()
"Microsoft.Surface.Presentation.Controls.TagVisualizer"
为什么会这样?也就是为什么在TagVisualizer 捕捉到标签之后地图控件会得到一个触摸点?
这是一个问题,因为当一个标签在桌子上时,地图无法通过其他触摸正常平移和缩放……因为它将标签视为另一个手指!我想停下来!
标签可视化器横跨整个屏幕,因此整个应用程序是可视化器的子元素。
我正在为 Surface 制造的设备、实际的 MS Surface Table(Samsung SUR40)开发程序,并在不是为 Surface 设计的普通触摸屏显示器上开发我的程序(使用输入模拟器对其进行测试)。有趣的是,这个问题发生在实际的 Surface 表上,但在不是为 Surface 制作的显示器上(即使用输入模拟器),症状有所不同。
我努力了:
this.myMap.ReleaseTouchCapture(_touchPoint.TouchDevice);
...在识别标签本身的触摸事件之后,但这并没有做任何事情,因为触摸实际上并没有被地图控件捕获。
有人能帮忙吗?有谁知道 Bing Maps WPF 控件如何使用触摸事件?或者 TagVisualizer 如何将标签视为触摸?
非常感谢!