Получение позиции UserControl - PullRequest
       13

Получение позиции UserControl

2 голосов
/ 27 апреля 2011

У меня проблемы с получением позиции UserControl на холсте в Silverlight.Обычно я использовал бы этот код, чтобы получить позицию объекта, и он отлично работает:

  GeneralTransform gt = this.TransformToVisual(Application.Current.RootVisual as UIElement);
  Point offset = gt.Transform(new Point(0, 0));
  double controlTop = offset.Y;
  double controlLeft = offset.X;

У меня есть UserControl, у которого есть метод, который переводит его позицию.Когда я пытаюсь получить новую позицию, используя приведенный выше код, он возвращает только начальную позицию, с которой начался объект.Есть ли способ получить новую позицию для UserControl, который программно добавляется в основной холст?Я попытался поместить этот код на главной странице, а также в самом UserControl (и выставить его с помощью метода).

1 Ответ

0 голосов
/ 27 апреля 2011

По закону дерьма, я работал над этим пару часов и наконец решил его сразу после публикации вопроса.

Оказывается, вы должны дать UserControl имяссылаться на это имя вместо this.Итак, это будет ucName.TransformToVisual....Ранее я ссылался на него либо методом this, либо через сам фактический объект.

...