Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > Точки Poligon не меняют координаты


Автор: rarxxx 18.8.2010, 12:08
беру полигон который Children MyCanvas

перемещаю его следующим образом


Код

ptMouseStart = args.GetPosition(MyCanvas);
elDraggin = MyCanvas.InputHitTest(ptMouseStart) as FrameworkElement;
elDraggin.Focus();

ptElementStart = new Point(Canvas.GetLeft(elDraggin),Canvas.GetTop(elDraggin));


......................
Canvas.SetLeft(elDraggin, ptElementStart.X + ptMouse.X - ptMouseStart.X);
Canvas.SetTop(elDraggin, ptElementStart.Y + ptMouse.Y - ptMouseStart.Y);



после перемещения смотрю координаты точек полигона а они какими были такими и остались, при этом сам полигон визуально положение поменял.

можно конечно после перемещения вручную менять координаты, но получается как то не очень умно )
кто нибудь сталкивался с подобной проблемой?

Автор: rarxxx 19.8.2010, 10:10
Разобрался ) я как бы в координатной системе просто меняю положение нулей Y и X, можно просто после окончания перемещения умножить все координаты на разницу Top для Y и Left для X. ))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)