使用资源字典
资源字典是指向资源的资源 ID 的集合。您可以为任意节点添加资源字典。默认情况下,以下节点包含资源字典:
- 屏幕 (Screen) 节点
- 所有预设件的根节点
节点可以访问其自己的资源字典以及子孙节点中定义的资源字典中的所有资源 ID。您可以将资源 ID 作为资源属性的值进行分配,并且它们显示在 Kanzi Studio 中,语法 ResourceID → Resource。
您可以将资源本地化为任何节点。向节点范围添加资源,即可向该节点的资源字典添加资源 ID 条目。资源 ID 是从使用位置抽象资源的标识符。
向节点添加资源字典
要向某个节点添加资源字典,在 工程 (Project) 中按下 Alt 并右键点击某个节点并选择 资源字典 (Resource Dictionary)。
查看资源字典的内容
要查看资源字典的内容:
- 在工程 (Project) 中,选择您希望在字典 (Dictionaries) 中显示其资源字典内容的节点。字典 (Dictionaries) 中列出的资源带有颜色编码。
- 白色类型标记选定的资源字典中的有效资源。
例如,在下图中,屏幕 (Screen) 节点中的所有资源均有效。
- 灰色斜体类型标记另一个资源字典中的资源重写的资源。
例如,在下图中,屏幕 (Screen) 节点的资源字典中正文文本资源的值被警告消息节点的资源字典中的正文文本资源所重写。
- 橙色类型标记别名。请参阅使用别名。
例如,在下图中,Media 是指向 屏幕 (Screen)/RootPage/Media 节点的别名。
- 浅灰色背景上的白色类型标记选定地区或主题中的资源,而这些资源使用本地化表或主题组中设置的默认值。请参阅本地化和为应用程序制定主题。
例如,在下图中,本地化表 (Localization Table) 中的 en-US 地区使用本地化表中定义的 Hello 文本资源 ID 的默认值。
- 白色类型标记选定的资源字典中的有效资源。
查看并激活地区和主题
要查看并激活地区和主题,在 字典 (Dictionaries) 中点击 地区和主题 (Locales and Themes) 以启用本地化表和主题组的查看,并且对于各本地化表和主题组,选择您希望在 预览 (Preview) 中显示的地区和主题。
向资源字典添加资源
向资源字典添加资源:
- 向节点添加资源字典。请参阅向节点添加资源字典。
- 在字典 (Dictionaries)中点击+ 添加资源 (+ Add Resource) 并选择:
- 创建 (Create) 并选择要创建的资源的类型。
- 添加现有 (Add Existing) 并选择工程中已有的资源。

将 kzb URL 用于资源字典中的资源
您可以使用 kzb URL 指向另一个 Kanzi Studio 工程中的资源。
要将 kzb URL 用于资源字典中的资源:
- 在字典 (Dictionaries) 中,双击您要使用 kzb URL 的资源的单元格,并在下拉菜单中选择 < URL >。

- 在单元格中,输入要使用的资源的 kzb URL。
例如,要使用来自另一个 Kanzi Studio 工程的字体,请输入指向该字体的 kzb URL。
在 API 中使用资源字典
要创建资源字典:
//创建资源字典。 ResourceDictionarySharedPtr dictionary = ResourceDictionary::create(domain, "Dictionary");
要向资源字典添加内容:
// 添加资源到资源字典。
dictionary->add(ResourceID("red icon"), texture);
dictionary->add(ResourceID("blue icon"), "kzb://my_project/Textures/Blue Icon");
要从资源字典获得资源:
// 从资源字典获得资源。
ResourceSharedPtr redIcon = dictionary->acquire(ResourceID("red icon"));
ResourceSharedPtr blueIcon = dictionary->acquire(ResourceID("blue icon"));
要更改节点的资源字典:
// 更改节点的资源字典。 node->setResourceDictionary(dictionary);
要扩展节点的现有资源字典:
// 用嵌套资源字典扩展节点的现有资源字典。 node->addResourceDictionary(dictionary);
有关详细信息,请参阅 API reference中的 ResourceDictionary 类。