WPF中获取控件之间的相对位置
2015-05-25 16:09
375 查看
1,获取元素相对于父控件的位置
使用Vector VisualTreeHelper.GetOffset(Visual visual)方法,其会返回visual在其父控件中的偏移量,然后你再将返回值的Vector对象转换成Point对象就可以了
2,获取元素相对于祖宗控件或子孙控件的位置
使用元素的 GeneralTransform TransformToAncetor(Visual ancetor)方法与GeneralTransform TransformToDescendent(Visual descendent),其返回元素相对于祖宗或子孙的GeneralTransform myGeneralTransform ,然后再使用Point thePoint= myGeneralTransform.Transform(new Point(0,0))得到的thePoint对象就是要找的值了。
3,获取任意两个元素见的相对位置
有两种方式:
如果元素是Visual,可以使用元素的GeneralTransform TransformToVisual(Visual visual)方法,然后可以与上文第2点的方法从GeneralTransform 得到thePoint
如果元素是UIElement,就更简单了,可以使用元素的TranslatePoint(Point pt, UIElement relativeTo)来得到元素上的pt点相对于relativeTo时的值,只有我们传入的pt为(0,0)那么就可以得到元素上(0,0)点的相对位置,即元素的相对位置
原文地址:http://www.cnblogs.com/zhouyinhui/archive/2008/03/20/1115132.html
使用Vector VisualTreeHelper.GetOffset(Visual visual)方法,其会返回visual在其父控件中的偏移量,然后你再将返回值的Vector对象转换成Point对象就可以了
2,获取元素相对于祖宗控件或子孙控件的位置
使用元素的 GeneralTransform TransformToAncetor(Visual ancetor)方法与GeneralTransform TransformToDescendent(Visual descendent),其返回元素相对于祖宗或子孙的GeneralTransform myGeneralTransform ,然后再使用Point thePoint= myGeneralTransform.Transform(new Point(0,0))得到的thePoint对象就是要找的值了。
3,获取任意两个元素见的相对位置
有两种方式:
如果元素是Visual,可以使用元素的GeneralTransform TransformToVisual(Visual visual)方法,然后可以与上文第2点的方法从GeneralTransform 得到thePoint
如果元素是UIElement,就更简单了,可以使用元素的TranslatePoint(Point pt, UIElement relativeTo)来得到元素上的pt点相对于relativeTo时的值,只有我们传入的pt为(0,0)那么就可以得到元素上(0,0)点的相对位置,即元素的相对位置
原文地址:http://www.cnblogs.com/zhouyinhui/archive/2008/03/20/1115132.html
相关文章推荐
- WPF如何获取控件之间的相对位置
- [WPF]获取控件间的相对位置
- [WPF]获取控件间的相对位置
- [WPF]获取控件间的相对位置
- [WPF]获取控件间的相对位置
- WPF获取控件位置的方法
- WPF中获取鼠标相对于屏幕的位置
- 获取控件在窗口上的相对位置以及修改背景色
- WPF获取控件位置的方法
- WPF中获取TreeView以及ListView获取其本身滚动条的方法,可实现自行调节scoll滚动的位置(可相应获取任何控件中的内部滚动条)
- WPF 获取鼠标屏幕位置、窗口位置、控件位置
- RelativeLayout是相对布局控件:以控件之间相对位置或相对父容器位置进行排列
- MFC下获取控件相对于子窗口的矩形位置
- WPF获取相对位置、坐标的方法
- WPF中获取鼠标相对于屏幕的位置
- Android 获取控件相对于屏幕位置
- WPF中获取鼠标相对于屏幕的位置——出自《IT168》
- ios 获取控件相对屏幕的位置
- 获取一个控件相对于父窗口的坐标位置
- ios 获取控件相对屏幕的位置