2013-10-11 71 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