2013-10-11 68 views
0

我有这样的功能:围绕光标位置旋转网格?

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

    } 

所以,后用鼠标右键单击网格(N),它旋转到90,但周围没有光标位置(大约左侧角球,耶)。

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

回答

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

谢谢,但我应该用什么«鼠标»?我尝试过«Control.Mouse»和«System.Windows.Inout»,但没有发生任何事情。 VS 2013,Windows 8.1 –

+1

使用['e.GetPosition'](http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.input.righttappedroutedeventargs.getposition)获取的位置。 – Clemens