04 · 属性与绑定
选中一个控件,右侧(或与工程管理器同栏的)属性面板就列出它的全部属性。改属性、套样式、把属性绑到数据上、加动画——都在这里。
【配图:属性面板——一个按钮选中后平铺出的全部属性(文字/颜色/字体/样式下拉/绑定行)】
属性面板:全属性平铺
属性全部平铺、不折叠分级(易语言风格),放不下就滚轮下滑。所有属性都是数据、都能被 AI 操作(第 08 章)。常见几类:
- 位置尺寸 —— X/Y/宽/高。
- 文字/字体 —— 文本内容、字体(下拉最前是免费可商用且内嵌的字体,离线也能显示)、字号、对齐。
- 颜色 —— 填充、边框、文字色等,点开取色。
- 样式 —— 见下。
套样式:选一套现成的
按钮 / 指示灯 / 棒图三类带预设样式,属性面板的「样式」区里是「选样式」下拉 + 折叠缩略图画廊(两条路选同一套东西):
- 按钮 —— 9 种风格:4 种基础(立体 / 扁平 / 描边 / 浅色)+ 5 种立体质感(金属 / 玻璃 / 新拟态 / 浮雕 / 霓虹)。⚠ 样式只管风格、不含颜色:颜色由你在「背景」属性里自选、「圆角」也自己填 —— 所以是"9 种风格 × 任意配色",不是几十套写死的组合。
- 指示灯 —— 4 种形状 × 6 种风格:圆灯 / 方灯 / 菱灯 / 三角灯 × 扁平 / 立体 / 金属圈 / 内凹 / 霓虹 / 透镜,共 24 套。⚠ 同样只管形状与风格、不含颜色:亮色 / 灭色由你在「亮色」「灭色」属性里自选;「初始状态」决定它是亮还是灭(缺省亮;运行期有绑定时由点值覆盖)。
挑形状的惯例(ISA 图形约定):圆=普通运行/停止状态,方=设备就地指示,菱=报警·联锁,三角=警示·注意。 挑风格的惯例:扁平=朴素原理图观感,立体=发光圆顶,金属圈=装在控制柜面板上的按钮式灯,内凹=沉进面板的嵌入式灯,霓虹=暗色大屏/监控墙(灯体压暗只留亮边),透镜=真实 LED 透镜灯珠(带同心环纹)。
- 棒图 —— 2 种风格:扁平 / 立体,共 2 套。⚠ 同样只管风格、不含颜色:填充色 / 槽色 / 边框色由你在「填充」「槽色」「边框色」属性里自选(缺省填充 #FF3C8DBC)。
样式只是个引用(存一个 StylePreset 名字),真正外观由前端按元素属性实时推导 —— 所以套完样式还能继续改颜色、圆角。
⚠ 有一处例外:预设里"定义它自己"的那一维,套用时会被写进元素属性 —— 因为渲染器是「元素属性优先、预设兜底」, 不写进去预设就永远不生效、属性面板还会和画布对不上: · 灯的形状 → 把「形状」写成对应值(方灯→
方形、菱灯→菱形、三角灯→三角形;所以套完方灯,面板「形状」也跟着变成方形); · 立体棒图 → 把「槽色 / 边框色」写成这套预设的皮肤(所以套完立体棒图,面板「槽色」跟着变);填充色不写 —— 它归你自己选的「填充」属性。 这不是"样式覆盖了你的设置",而是样式帮你把颜色填好,之后你照样可以再改 —— 改完就是你要的色。
按钮还有个「模板配色」(属性面板最上面一行,9 种语义色:主色蓝 / 青绿 / 成功绿 / 警示橙 / 危险红 / 信息 / 品紫 / 石板灰 / 深空)。它是一键配色宏:选中一个语义色,当场把「背景 / 文字色 / 边框色」一起填好 —— 跟上面的样式一样,填完你照样能改,改完就是你要的色。选「(不启用 · 按下面各色)」只表示"不再跟随这个语义色",不会把颜色改回去。
⚠ 常见误解:"选了模板配色,然后改「背景」,颜色没变" —— 那是老版本的毛病(当时模板配色其实是死的)。现在模板配色只是帮你填一次,之后「背景」说了算。
下拉里的选项一律中文显示(对齐 / 图标位置 / 字体等不露英文枚举,如「左对齐」「居中」「顶端」)。
自定义按钮皮肤
选中一个按钮,属性面板「样式」区底部有「管理皮肤…」按钮,点开「按钮皮肤管理」弹窗:列出 / 新建 / 编辑 / 删除每工程的自定义 SVG 皮肤。皮肤是矢量,任意缩放清晰;导入的 SVG 会经净化后内联渲染。管理完关掉弹窗,画廊立刻反映新皮肤。
绑定:把属性接到数据上
要让控件"活"起来(显示实时值、点击写值),就给属性绑定一个数据源。点属性旁的绑定入口,弹出三段式绑定选择器——鼠标点着选,不用手打:
- 第一列选范围:全局变量 / 采集点 / 某个窗口。
- 第二列:选全局变量→列全局变量;选采集点→列点表;选窗口→列该窗口的组件。
- 第三列(选了窗口组件时):列该组件的属性。
结果:
- 选全局变量 / 采集点 → 直接用它的名字(如
转速/Pump1.Speed)。 - 选窗口→组件→属性 → 返回
#窗口.组件.属性简写(和脚本里的界面简写同一写法)。
单向还是双向
给交互控件(滑块 / 输入框 / 复选框等能改值的)绑定时,会问单向还是双向:
- 单向(→):只把数据显示到控件上。
- 双向(⇄):控件改了值也写回数据源。
纯显示属性(文本 / 填充 / 填充比例等)不问,只能单向。绑定后属性行上会标 ⇄ 或 → 提示方向。
运行态里,脚本/界面对内部变量的写值放行,对通道/PLC 点的写值受运行时闸门约束——这条安全线在底层钉死。
按钮动作:点一下做什么
绑定解决"显示",动作解决"点了干什么"。选中按钮类控件,属性面板底部有「按钮动作」区,选一个动作类型:
| 动作 | 点下去发生什么 |
|---|---|
| 写入点位(给点赋值) | 给某个点写一个值(要填目标点 + 值)。最常用:启动/停止按钮 |
| 切换画面 | 跳到另一张画面(填目标画面) |
| 确认弹框 | 弹一个确认框,让人再点一次才继续 |
| 执行脚本 | 跑一段脚本 |
| 弹出登录窗口 | 打开内置「用户登录」窗口(账号列表 + 密码 + 软键盘) |
| 注销当前用户 | 退出当前登录身份 |
写入点位 / 切换画面要填目标(点名或画面名);登录 / 注销不需要填任何目标。写点位会走运行时的写安全校验 —— 只读点、越权都会被拦下(见第 09 章)。
动画绑定
除了绑值,还能给控件加动画绑定,按数据驱动动起来:旋转 / 水平移动 / 垂直移动 / 缩放 / 管道流动。多种动画作用于不同 transform 分量,会合成而不是互相覆盖(比如又转又移)。
一句话总结
属性面板全属性平铺;套样式挑现成的(按钮 9 种风格 × 自选配色,指示灯 24 套[4 形状 × 6 风格]、亮色/灭色自选,棒图 2 套[扁平/立体]、填充色自选,另有自定义 SVG 皮肤),绑定走三段式选择器鼠标点选(交互控件问单/双向,标 ⇄/→),按钮再配一个动作(写点位/切画面/弹登录…),按需加旋转/移动/缩放/管道流动的动画绑定——不用手打名字、不露英文枚举。