У меня есть значения положения (сверху и слева), привязанные к холсту, и значение поворота, привязанное к углу преобразования поворота Во время моего события ManipulationDelta я использую эти две строки:
piece.Left = piece.Left + (Math.Cos(piece.Radians)*e.DeltaManipulation.Translation.X) - (Math.Sin(piece.Radians) * e.DeltaManipulation.Translation.Y);
piece.Top = piece.Top + (Math.Cos(piece.Radians) * e.DeltaManipulation.Translation.Y) + (Math.Sin(piece.Radians) * e.DeltaManipulation.Translation.X);
Я должен упомянуть, что я поворачиваюсь только на 90 градусов за раз. Я думаю, что это не сработает, если у вас есть произвольные углы. Но функции синуса и косинуса приведут вас к небольшому редактированию, если вы делаете произвольные углы.
Плюс, вы сказали, что хотите подсказку ...