0

私はこの機能を持っています:

private void RightTap_Rotate(object sender, RightTappedRoutedEventArgs e)
    {
        var obj = (CompositeTransform)N.RenderTransform;
        obj.Rotation += 90;

    }

したがって、右クリックして Grid (N) にした後、90 度に回転しますが、カーソル位置の周りではありません (左隅の周りです)。

カーソルの周りを回転させるために何を使用する必要がありますか?

4

1 に答える 1

1

変換の中心点を設定します。

private void RightTap_Rotate(object sender, RightTappedRoutedEventArgs e)
{
    var obj = (CompositeTransform)N.RenderTransform;
    Point cursorPos = Mouse.GetPosition(yourControl);
    obj.CenterX = cursorPos.X;
    obj.CenterY = cursorPos.Y;
    obj.Rotation += 90;
}
于 2013-10-11T10:32:53.510 に答える