围绕光标位置旋转网格

本文关键字:旋转 网格 位置 光标 | 更新日期: 2023-09-27 18:35:07

我有这个功能:

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

因此,右键单击网格 (N) 后,它会旋转到 90,但不围绕光标位置(在左上角,是的)。

我需要用什么来围绕光标旋转它?

围绕光标位置旋转网格

设置变换的中心点:

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;
}