Property Groups
title: "属性组(Property Groups)"
description: "创建可设置关键帧、可动画化、可绑定到视图模型属性的本地值"
属性组(Property Groups)是本地、画板级别的值,可以被设置关键帧、动画化以及绑定到视图模型属性。
视图模型属性是全局共享的,而时间线和状态机是本地的。属性组弥合了这一差距,允许本地动画和逻辑读取或驱动全局数据。
创建属性组
- 创建属性组
选择属性组工具并点击舞台,将其添加到画板中。

- 添加属性
选中属性组,在右侧边栏中点击
+图标并选择属性类型。
常见用例
用时间线控制视图模型属性
你无法直接在时间线中为视图模型属性设置关键帧。替代方案是:为属性组值设置关键帧,然后将该值绑定到视图模型属性。
这让你可以在运行时使用时间线中的关键帧来更新视图模型数据。
为什么不能直接为视图模型属性设置关键帧?
视图模型属性代表跨应用共享的全局数据,而关键帧是时间线本地的——因此无法直接设置关键帧。
- 为属性设置关键帧
选中属性组,移动时间线播放头并更改属性值来创建关键帧。

- 绑定属性
右键点击属性并选择你要控制的视图模型属性。将方向设置为 Target → Source,使关键帧值驱动视图模型属性。

运行状态机时,视图模型属性将根据关键帧属性组的值进行更新。
用一个视图模型属性控制另一个
你无法直接用一个视图模型属性控制另一个。替代方案是:使用属性组值读取一个视图模型属性并设置另一个。
为什么不能用一个视图模型属性控制另一个?
允许视图模型属性互相控制会产生隐藏依赖和更新循环,因此值之间的关系通过绑定显式处理。
在以下示例中,我们将有两个数字视图模型属性 myNumber 和 myOtherNumber,其中 myOtherNumber 是 myNumber 的两倍。
- 创建公式转换器
创建一个类型为 Numeric > Formula 的新转换器,添加一个数字值、一个乘法运算和另一个数字。

- 绑定数字值
将第一个数字绑定到
myNumber。
- 控制视图模型属性
选中属性组,右键点击属性,使用转换器将其绑定到
myOtherNumber值。将方向设置为 Target → Source,使转换后的值驱动视图模型属性。
运行状态机时,你会看到 myOtherNumber 是 myNumber 的两倍。
