Silverlight 在mousemove中获取控件的位置
我有一个silverlight控件,我在其中通过单击按钮动态创建形状Silverlight 在mousemove中获取控件的位置,silverlight,Silverlight,我有一个silverlight控件,我在其中通过单击按钮动态创建形状 这些形状可以在窗体上拖动。现在我想在拖动控件(mousemove)时获得控件的顶部和左侧位置。请帮助查看您的问题历史,我可以想出两种方法。我怀疑该形状只是被放置在画布上,而您所说的MouseMove指的是您附加到画布上的事件处理程序。在这个基础上 void Canvas_MouseMove(object sender, MouseEventArgs e) { Type currentType = e.Origin
这些形状可以在窗体上拖动。现在我想在拖动控件(mousemove)时获得控件的顶部和左侧位置。请帮助查看您的问题历史,我可以想出两种方法。我怀疑该形状只是被放置在
画布上,而您所说的MouseMove
指的是您附加到画布上的事件处理程序。在这个基础上
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));