获取触摸坐标处的 UI 元素
我确信我已经读过,有一种方法可以在 WPF 应用程序中获取 TouchDown 上的坐标,并找出此触摸“下方”的 UI 元素。有人可以帮忙吗?
I'm sure I've read that there is a way of getting co-ordinates on TouchDown in a WPF app and finding out what UI elements are 'underneath' this touch. Can anyone help?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您必须对可视化树进行命中测试。
以下是鼠标单击的示例(但触摸在这方面或多或少是相同的):
HitTest 可以为您提供多种点击视觉效果。
You have to do a hit test against the visual tree.
Here is an example with mouse click (but touch is more or less the same thing in this respect):
Other overload of HitTest can give you multiple hit visuals.
让你的UI元素像这样扩展UIElement类:
涉及的UIElement应该保存引发触摸事件的UI元素,如果你需要取消对特定元素的操作,你只需要调用
e.Cancel();
我希望这会有所帮助!
Let your UI elements extend UIElement class like this:
involvedUIElement should hold the UI elements that raised the touch event, if you need to cancel the manipulation for specific elements you just need to call
e.Cancel();
I hope this will help!