【问题标题】:How can I get element from given point on canvas?如何从画布上的给定点获取元素?
【发布时间】:2010-08-13 10:13:12
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      这样的代码应该可以做到:-

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

      【讨论】:

        猜你喜欢
        • 2012-11-05
        • 2019-10-22
        • 2021-07-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多