WPF中,怎么获取任意两控件之间的相对坐标!求具体代码 5
Pointp0=newPoint(0,0);Pointp1=newPoint();p1=TranslatePoint(p0,button1);txtX.Text=p1.X...
Point p0 = new Point(0, 0);
Point p1 = new Point();
p1 = TranslatePoint(p0, button1);
txtX.Text = p1.X.ToString();
txtY.Text = p1.Y.ToString();
这是先获取一个控件绝对坐标的代码,为什么最后x,y的值都是0 展开
Point p1 = new Point();
p1 = TranslatePoint(p0, button1);
txtX.Text = p1.X.ToString();
txtY.Text = p1.Y.ToString();
这是先获取一个控件绝对坐标的代码,为什么最后x,y的值都是0 展开
2个回答
展开全部
获取任意两个元素见的相对位置有两种方式:
如果元素是Visual,可以使用元素的GeneralTransform TransformToVisual(Visual visual)方法,然后再使用Point thePoint= myGeneralTransform.Transform(new Point(0,0))得到的thePoint对象就是要找的值了。
如果元素是UIElement,就更简单了,可以使用元素的TranslatePoint(Point pt, UIElement relativeTo)来得到元素上的pt点相对于relativeTo时的值,只有我们传入的pt为(0,0)那么就可以得到元素上(0,0)点的相对位置,即元素的相对位置
如果元素是Visual,可以使用元素的GeneralTransform TransformToVisual(Visual visual)方法,然后再使用Point thePoint= myGeneralTransform.Transform(new Point(0,0))得到的thePoint对象就是要找的值了。
如果元素是UIElement,就更简单了,可以使用元素的TranslatePoint(Point pt, UIElement relativeTo)来得到元素上的pt点相对于relativeTo时的值,只有我们传入的pt为(0,0)那么就可以得到元素上(0,0)点的相对位置,即元素的相对位置
追问
我就是用的是第一种啊,可是结果永远为0
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询