получить XY объекта в wpf для этой ситуации?

#wpf #canvas #transform

#wpf #canvas #преобразовать

Вопрос:

У меня есть Canvas с двумя или более объектами. Теперь я помещаю эти объекты в новый, Canvas помещенный в предыдущий Canvas . Затем я поворачиваю его.

Теперь я хочу знать, как получить позиции объектов в новом Canvas , как если бы нового canvas не было.

Изображение 1

Ответ №1:

Вы можете использовать следующий метод расширения, чтобы получить местоположение одного UIElement относительно другого:

   public static class ExtensionMethods
  {
    public static Point GetRelativePosition(this UIElement element, UIElement other)
    {
      return element.TransformToVisual(other)
                    .Transform(new Point(0, 0));
    }
  }