径向仪表指针

本节的内容可以参考示例文件"数据看板.Table"中的窗口"径向仪表指针"。

径向仪表以圆周布局为主。所以类似钟表的指针,沿圆周进行活动。

现在我们来添加一个空白的径向仪表,可以看到控件中间出现了一个指针和指针帽。为了方便查看效果,我们在FaceShapes添加一个Ellipse。默认情况下Ellipse的半径也是径向仪表的半径,而径向仪表默认的半径为0.46,按控件的小边计算,Ellipse的半径换算为像素也就是400*0.46= 184,直径就是368像素。

先看看指针帽,位于属性变更-》Cap。通过Radius属性设置其大小,默认值是10。这个10也是一个相对的值,相对仪表的半径的百分比,10也就是10%,仪表半径的10%也就是0.46*0.1= 0.046。我们可以试试把Cap的Radius改为100,那么就会和之前添加Ellipse重合了。

接着看指针,位于属性变更-》Pointer。和定位有关的属性有Alignment、Length、Offset、Width、ShapeAngle。

 属性名称  说明
 Length 指针的长度,默认为90,也是一个比例值,即仪表半径的90%,等于0.46 * 0.9 = 0.414。我们来把Pointer的Offset值设置为0,然后把Length设置为100,就可以看出指针的长度就是Ellipse的半径:

 Offset 指针起始端距离中心点的偏移值。我们把指针靠近中心点一头叫做起始端,靠近圆周的一头叫做结束端。那么Offset设置的就是起始端偏移中心点的距离。这个值默认为-20,也是一个比例值,即距离中心点等于仪表半径的20%。负值表示从结束端向起始端的方向偏移;正值表示从起始端向结束端的方向偏移。下面3个指针,红色的Offset为20,黄色的为0,蓝色的为-20。


 Width 指针的宽度,默认值为9,也是比例值,即仪表半径的9%。
 Alignment 指针的对齐方式。默认为Out,下面分别为Out、Center、In三种对其方式的效果:

   
 ShapeAngle 指定指针的起始角度,以仪表的起始角度StartAngle作为参照坐标。假设仪表的StartAngle设置为-90,然后SweepAngle设置为180,那么默认指针的活动范围将在-90至90之间总共180°的半圆范围内,如下阴影范围:



默认ShapeAngle值为0,则指针的起始角度为StartAngle,也就是-90°,指针从最小值到最大值的活动轨迹如下动画:


如果把ShapeAngle值设置为45,那么指针的起始角度为StartAngle + 45°,也就是-90°+ 45°= -45°,如果ShapeAngle为-45,则指针的起始角度为-90°+ (-45°)= -135°,如下图所示:
 
 ShapeAngle值设置为45  ShapeAngle值设置为 -45
   


ShapeAngle值设置为45时,指针从最小值到最大值的活动轨迹变成如下: