WPF 控件的位置
来源:互联网 发布:软件测试java面试题 编辑:程序博客网 时间:2024/05/17 06:00
我们知道WPF有着比较灵活的布局方式,关于某个控件的坐标,Canvas中的元素最简单,我们可以直接通过其GetLeft()与GetTop方法来获取,但其它布局面板中的,以及存在于不同布局面板中的元素中间的相对位置就比较让我们头疼了,其实有简单方法的,不知你有没发现。
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)点的相对位置,即元素的相对位置
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)点的相对位置,即元素的相对位置
0 0
- WPF 控件的位置
- [WPF]获取控件间的相对位置
- [WPF]获取控件间的相对位置
- [WPF]获取控件间的相对位置
- WPF获取控件位置的方法
- WPF获取控件位置的方法
- WPF 改变控件位置
- wpf自定义控件位置
- WPF如何获取控件之间的相对位置
- WPF 获取鼠标屏幕位置、窗口位置、控件位置
- WPF中动态改变控件显示位置
- WPF获取鼠标的位置
- WPF 自动调整控件的大小和位置,当窗体大小发生变化的时候
- WPF中拖动控件,实现位置随意摆放[1]
- WPF中拖动控件,实现位置随意摆放[2]
- WPF中拖动控件,实现位置随意摆放
- WPF中Popup控件更换Child后位置显示不正确
- 控件位置的获取
- 剑指offer 数组中只出现一次的数字
- Linux 下给数据库新建用户,给用户权限
- mysql储存过程以及定时调度清除数据
- aidl绑定远程服务
- free命令详解
- WPF 控件的位置
- Mac OSX中设置路由
- DP·数位DP(5)
- [笔记]线性回归&梯度下降
- phonegap自定义插件
- scikit-learn使用的简易说明
- maven2
- 设计模式六大原则
- Android 个层次间调用关系