private void Manip_ManipulationUpdate(object sender, ManipulationGestureEventArgs e) { var postit = sender as Postit; var matrix = (postit.RenderTransform != null) ? postit.RenderTransform.Value : new Matrix(); Point ct = new Point(postit.RenderSize.Width / 2, postit.RenderSize.Height / 2); // transform it to take into account transforms from previous manipulations ct = matrix.Transform(ct); //this will be a Zoom. matrix.ScaleAt(e.Delta.ScaleX, e.Delta.ScaleY, ct.X, ct.Y); // Rotation matrix.RotateAt(Geometry2DHelper.RadiansToDegree(e.Delta.Rotation), ct.X, ct.Y); //Translation (pan) matrix.Translate(e.Delta.TranslationX, e.Delta.TranslationY); postit.RenderTransform = new MatrixTransform(matrix); }
void manip_ManipulationUpdate(object sender, ManipulationGestureEventArgs e) { e.ApplyDeltaOnRenderTransform(); }