1

如何检查矩形对象是否位于画布中的特定位置?我发现的唯一解决方案是遍历画布中的所有孩子并检查他们的位置是否匹配,但我认为这不是一个好的解决方案。

所以我需要类似的东西Canvas.IsRectangleAtPosition(Point x),有类似的东西吗?

如果没有,我该如何实现这样的方法?

亲切的问候

4

1 回答 1

2

为了找到最顶层的 UI 元素(将获得鼠标输入的元素),您可以简单地调用InputHitTest

Point pos = ...
Rectangle rect = canvas.InputHitTest(pos) as Rectangle;

您也可以使用VisualTreeHelper.HitTest

Rectangle rect = VisualTreeHelper.HitTest(canvas, pos).VisualHit as Rectangle;
于 2012-11-04T19:55:46.283 回答