如何从画布上的给定点获取元素?

时间:2010-08-13 10:13:12

标签: silverlight silverlight-3.0 silverlight-4.0 silverlight-2.0

我需要通过给定的点从画布中获取元素 例如,我在Canvas上有Rectangle,CanvasLeft和CanvasTop值被设置为某些值 我想从画布中获取CanvasLeft和CanvasTop vaules的元素,例如10和40 有可能吗?
感谢。

2 个答案:

答案 0 :(得分:3)

您可以使用VisualTreeHelper找到元素的特定位置。它有一个方法FindElementsInHostCoordinates。你必须给它一个主机,例如画布和坐标,它返回一个UIElements列表。

以下是MSDN上的信息: http://msdn.microsoft.com/en-us/library/cc838402(v=VS.95).aspx

答案 1 :(得分:2)

像这样的代码应该这样做: -

 UIElement elem = VisualTreeHelper.FindElementsInHostCoordinates(new Point(10, 40), myCanvas).FirstOrDefault();