如何在TC3 HMI(TE2000)中通过JS/TS为用户控件属性赋值?
TC3 HMI(TE2000) 已存在用户控件自定义属性赋值方案
核心解决思路
直接通过控件实例的Properties集合访问自定义属性,无需新建实例。步骤如下:
定位已存在的UserControlHost实例
使用Screen.FindElement()方法,传入控件在设计器中设置的Name属性值,获取目标控件实例。赋值自定义属性
通过实例的Properties字典,以自定义属性的名称为键进行赋值。
代码示例
JavaScript 实现
// 获取目标用户控件实例(替换为你的控件Name) const targetUC = Screen.FindElement("MyUserControlHost"); // 给自定义属性赋值(替换为你的属性名和对应值) targetUC.Properties["CustomStatus"] = true;
TypeScript 实现
(需做类型断言绕过类型检查,因为默认类型未包含自定义属性定义)
// 类型断言为UserControlHost并获取实例 const targetUC = Screen.FindElement("MyUserControlHost") as UserControlHost; // 赋值自定义属性 targetUC.Properties["CustomValue"] = 456;
注意事项
- 必须确保控件的
Name属性在设计器中已正确配置,这是FindElement定位的唯一标识 - 自定义属性名称需与设计器中定义的完全一致(区分大小写)
- 若需替换原有属性绑定,可使用
BindProperty方法:targetUC.BindProperty("CustomProperty", "GlobalTags.MyTag");
内容的提问来源于stack exchange,提问作者Pablo
相关产品推荐
相关产品推荐

