2010-02-22 78 views

回答

0

看看你的問題歷史,我可以想到兩種方法。我懷疑這個形狀只是放在一個Canvas上,而你說的MouseMove是指你附加到Canvas的事件處理程序。然後在那個基礎上。

void Canvas_MouseMove(object sender, MouseEventArgs e) 
{ 

    Type currentType = e.OriginalSource.GetType(); 

    // Make decisions based on value of currentType here 

    DependencyObject source = (DependencyObject)e.OriginalSource; 
    Point p = new Point(Canvas.GetLeft(source), Canvas.GetTop(source)); 

} 

更一般的解決方案是使用TransformToVisual方法。例如: -

var transform = ((UIElement)e.OriginalSource).TransformToVisual(MyCanvas); 
Point p = transform.Transform(Point(0,0));