检查属性绑定¶
使用 Binding check 从当前解决方案的节点中收集属性绑定并导出报告。使用报告中的绑定表达式、状态和节点路径来检查绑定。
该工具会创建一个 .xlsx 报告,其中包含跨工程的汇总,以及每个工程的详细工作表。该工具还会将绑定的启用状态、活动状态和报告位置写入 Kanzi Studio 日志。
该检查不会修改绑定表达式、启用或禁用绑定,也不会自动修复问题。
检查范围¶
检查包括当前解决方案中的所有工程。在每个工程中,该工具会检查 Screen 的 RootNode2D 节点树以及 Prefab Library 中的节点。报告为每个非空绑定包含一条记录,不会列出没有绑定的节点。
运行检查¶
要检查当前解决方案中的绑定:
确保要检查的工程和绑定处于预期状态。
选择 Binding check。
在对话框中,为报告选择一个目录。
等待该工具完成节点遍历并写入报告。
在 Log 中,查找
Excel file saved:,并检查其后的文件路径。打开报告。先查看 NotBindings,然后根据需要查看各工程工作表。
输出文件¶
该工具将报告保存在您选择的目录中,并在文件名中使用本地日期和时间:
binding_check_yyyyMMdd_HHmmss.xlsx
每次运行通常都会创建一个带有新时间戳的文件。
报告结构¶
NotBindings 汇总工作表¶
NotBindings 是第一个工作表。它汇集所有工程中标记为 - 的绑定,供优先审查。
列 (Column) |
内容 |
|---|---|
Project Name |
包含该绑定的工程的名称。 |
Node Name |
绑定目标属性的名称。 |
Binding Code |
绑定表达式。 |
Is Checked |
当前状态标记;在此工作表中为 |
Node Path |
包含该绑定的节点的 KZB URL 路径。 |
备注
NotBindings 既不是没有绑定的节点列表,也不是已确认错误的列表。它包含未同时处于已启用和活动状态的现有绑定,包括有意禁用的绑定。
工程工作表¶
该工具为每个工程创建一个以该工程命名的工作表。每个工作表列出检查范围内的所有绑定,包括标记为 O 和 - 的记录。
列 (Column) |
内容 |
|---|---|
Node Name |
绑定目标属性的名称。 |
Binding Code |
绑定表达式。 |
Is Checked |
当前绑定状态标记: |
Node Path |
包含该绑定的节点的 KZB URL 路径。 |
具有多个绑定的节点会生成多行。使用 Node Path 定位节点,然后使用目标属性名称定位绑定。
了解检查状态¶
该工具根据 IsBindingEnabled 和 IsBindingActive 确定状态:
IsBindingEnabled |
IsBindingActive |
已选中 (Is Checked) |
含义 |
|---|---|---|---|
|
|
|
该绑定当前已启用且处于活动状态。 |
|
|
|
该绑定已启用,但当前未处于活动状态。 |
|
|
|
启用状态与活动状态不一致。请查看日志和节点上下文。 |
|
|
|
该绑定当前已禁用且未处于活动状态。 |
O 是大写字母 O,而不是数字零。
Is Checked 是由工具生成的状态标记,而不是供用户确认的复选框。
备注
O 仅表示读取时该绑定同时处于已启用和活动状态,并不能证明表达式会产生预期结果。对于标记为 - 的绑定,请先检查该绑定的用途,然后再进行更改。
查看日志¶
在检查工程详细信息时,该工具会将以下绑定信息写入 Log:
目标属性名称。
绑定表达式。
enable:绑定是否已启用。active:绑定是否处于活动状态。path:节点路径。
日志格式为:
CheckNode Name:<property name>, Binding Code: <expression>, enable: <True/False>, active: <True/False>, path:<node path>
该工具还会记录所遍历项的类型。成功保存报告后,它会写入:
Excel file saved: <full report path>
报告将其他三种状态组合均表示为 -。要区分这些组合,请查看日志中的 enable 和 active。
查看报告中的绑定¶
要定位并检查报告中的绑定:
打开 NotBindings。
使用 Project Name 识别工程。
使用 Node Path 定位节点。
使用 Node Name 中的属性名称查找绑定的目标属性。
将 Binding Code 与节点上的表达式进行比较。
在日志中检查
enable和active。确定该绑定是有意禁用的,还是需要调查其引用、表达式和使用上下文。
如果您进行了更改,请再次运行 Binding check 并查看新报告。
新的检查会创建新报告,而不会更新之前的报告。编辑报告单元格不会修改 Kanzi Studio 工程中的绑定。