1
我有一個Silverlight控件,我在其中按鈕單擊動態創建形狀 這些形狀可以在窗體上拖動。現在我想獲得頂部和左側的拖動控件(mousemove)。請幫助在鼠標移動中獲取控件的位置
我有一個Silverlight控件,我在其中按鈕單擊動態創建形狀 這些形狀可以在窗體上拖動。現在我想獲得頂部和左側的拖動控件(mousemove)。請幫助在鼠標移動中獲取控件的位置
看看你的問題歷史,我可以想到兩種方法。我懷疑這個形狀只是放在一個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));