绝对定位
添加一个Ellipse,Border的颜色都设置为蓝色。然后看布局里各种属性的影响:
线性仪表Ellipse涉及到绝对定位的常用ViewPort属性有:
属性名称 | 说明 |
X |
用于设置形状的左边距或右边距,单位为像素,默认值为0,表示不做设置。如果是正值,表示左边距;如果是负值,表示右边距。以下蓝色Ellipse设置X值为120的效果: 注意形状设置X值后,其高度值是不受此值影响的。而仪表设置X值后里面的形状会 根据大小边的原则重新计算。 |
Y | 用于设置形状的上边距或下边距,单位为像素,默认值为0,表示不做设置。如果是正值, 表示上边距;如果是负值,表示下边距,此值设置后Ellipse的宽度同样是不会变的。 |
MarginX |
用于同步设置形状的左边距和右边距,单位为像素,默认值为0。如果是正值,也就是仪表距仪表左右边界同时向内缩的距离;如果是负值,就是仪表距仪表左右边界同时向外扩张的距离。和X值只影响左边距不同,MarginX则左右边距都会影响。此值设置后形状高度同样不受此值影响。如下图 MarginX设置为120效果: |
MarginY | 用于同步设置形状的上边距和下边距,单位为像素,默认值为0。如果是正值,也就是仪表距仪表上下边界同时向内缩的距离;如果是负值,就是仪表距仪表上下边界同时向外扩张的距离。和Y值只影响上边距不同,MarginY则上下边距都会影响。此值设置后形状宽度同样样不受此值影响。 |
Height |
设置形状的固定高度,单位为像素,默认值为0,表示不设置。如果指定具体的值,则Ellipse的高度固定为此值,不管仪表大小怎么变化此形状的高度都不会变。 注意:一旦设置此值,则CenterPointY的参照值就会变成此值,如CenterPointY=0.5,则表示Height值的50%。如果Height=50,则CenterPointY实际值为50*0.5=25像素。 |
Width |
设置形状的固定宽度,单位为像素,默认值为0,表示不设置。如果指定具体的值,则Ellipse的宽度固定为此值,不管仪表大小怎么变化此形状的宽度都不会变。 注意:一旦设置此值,则CenterPointX的参照值就会变成此值,如CenterPointX=0.5,则表示Width值的50%。如果Width=100,则CenterPointX实际值为100*0.5=50像素。 |
TranslateX |
用于设置形状水平移动的距离比例,默认值为0。如果是正值,表示形状向右移动的距离比例;如果是负值, 表示形状向左移动的距离比例。 |
TranslateY | 用于设置形状垂直移动的距离比例,默认值为0。如果是正值, 表示形状向下移动的距离比例;如果是负值,表示形状向上移动的距离比例。 |
要点:
1、如果同时设置了Height和Width,没有设置TranslateX、TranslateY,则形状的大小会固定不变,不会跟随控件的大小变化而变化。 但是绝对位置(相对仪表控件)会随着这仪表的位置变化而变化,相对于仪表的位置则 则是固定不变的。
2、如果同时设置了Height和Width,同时设置TranslateX、TranslateY其中1项或者2项,则形状的大小会固定不变,但是位置会随着仪表控件以及仪表的大小变化而变化。
3、如果同时设置了Height和Width,则属性MarginX等同于属性X,设置后 左边距固定,右边距不固定;属性MarginY等同于属性Y,设置后上边距固定,下边距不固定。