使用别名¶
使用 Alias 来获得对 Kanzi 节点的一致访问。您可以使用别名来访问 Kanzi Studio 中的节点,并使用 Kanzi Engine API。
因为在 Kanzi Studio 中创建应用程序时会在项目的节点树中移动节点,所以跟踪它们的最简单方法是使用别名。您可以使用绑定或 Kanzi Engine API 通过哈希符号 (#) 后跟别名的名称来检索别名目标节点,而不考虑节点在项目中的位置。
请注意,您必须始终将别名添加到要从中检索别名的节点的资源字典中。
从节点创建别名¶
当您从一个节点创建一个别名时,Kanzi Studio 会将该别名添加到该节点最近的包含资源字典的祖先的资源字典中。例如,如果一个 Scene 有一个资源字典,并且它包含一个 Camera,当您直接从 Camera 节点创建一个别名时,Kanzi Studio 会自动将指向 Camera 节点的别名添加到 Scene 节点的资源字典中。
要创建别名:
在 Node Tree 按 Alt 并右键单击 中,将您希望 Kanzi Studio 自动从该节点的后代中添加别名的节点,并选择 Resource Dictionary。
例如,如果您想使用别名访问 Viewport 2D 节点内的节点,请将 Resource Dictionary 添加到该 Viewport 2D。
在 Node Tree 按 Alt 并右键单击 中,选择包含资源字典的节点的子节点,并选择 Alias。
例如:在包含 Camera 的 Viewport 2D 中,按 Alt 并右键单击 Camera,并选择 Alias。
Kanzi Studio 创建一个指向您创建别名的节点的别名,并将其添加到其最近的包含资源字典的祖先节点的资源字典中。
创建别名并手动设置其目标¶
要创建别名并手动设置其目标:
在 Node Tree 按 Alt 并右键单击 中,将节点添加到您要为其添加别名的资源字典,并选择 Resource Dictionary。
例如,如果您想使用别名访问 Viewport 2D 节点内的节点,请将 Resource Dictionary 添加到该 Viewport 2D。
在 Dictionaries 中,选择您要添加别名的资源字典,单击 + Add Resource,选择 Create > Alias,并命名该别名。
Kanzi Studio 向您在 Dictionaries 中选择的资源字典添加了一个别名。
Dictionaries 显示了在 Node Tree 中您选择的节点本地的资源的资源 ID。
在 Dictionaries 中,单击别名名称旁边的单元格,并在下拉菜单中选择您要使用此别名访问的节点。
使用 <Relative> 输入相对于您为其资源字典添加了别名的节点的路径。
当可以从拥有别名所在资源字典的节点到达目标节点时,请使用绝对路径。
在绑定中使用别名¶
使用绑定将属性或属性字段的值设置为来自另一个属性、属性字段或数据源的值。
要在绑定中使用别名,请在 Binding Editor 中的 Expression 字段中输入大括号内的 # 符号,后跟别名名称,再后跟斜杠和别名指向的项目的属性名称。
例如,要将属性绑定到别名 Grid 指向的节点的 Layout Width 属性,请输入
{#Grid/Node.Width}
请参阅 使用绑定 和 Bindings expressions 参考。
使用别名设置动作目标¶
要使用别名定义动作的目标项:
在 API 中使用 Aliases¶
要通过 API 使用别名访问节点
// Get the reference to the Grid List Box 3D node using the alias #Grid List Box that is
// in the resource dictionary of the Scene node.
GridListBox3DSharedPtr gridListBox = scene->lookupNode<GridListBox3D>("#Grid List Box");