【发布时间】:2010-08-13 10:13:12
【问题描述】:
我需要按给定点从画布中获取元素。
例如,我在 Canvas 上有 Rectangle,其中 CanvasLeft 和 CanvasTop 值设置为一些值。
我想从 CanvasLeft 和 CanvasTop 值例如 10 和 40 的画布中获取元素。
有可能吗?
谢谢。
【问题讨论】:
标签: silverlight silverlight-3.0 silverlight-4.0 silverlight-2.0
我需要按给定点从画布中获取元素。
例如,我在 Canvas 上有 Rectangle,其中 CanvasLeft 和 CanvasTop 值设置为一些值。
我想从 CanvasLeft 和 CanvasTop 值例如 10 和 40 的画布中获取元素。
有可能吗?
谢谢。
【问题讨论】:
标签: silverlight silverlight-3.0 silverlight-4.0 silverlight-2.0
您可以使用 VisualTreeHelper 找到特定位置的元素。它有一个方法 FindElementsInHostCoordinates。你必须给它一个宿主,例如画布和坐标,它会返回一个 UIElements 列表。
这是 MSDN 上的信息: http://msdn.microsoft.com/en-us/library/cc838402(v=VS.95).aspx
【讨论】:
这样的代码应该可以做到:-
UIElement elem = VisualTreeHelper.FindElementsInHostCoordinates(new Point(10, 40), myCanvas).FirstOrDefault();
【讨论】: