public ref class Storyboard : System::Windows::Media::Animation::ParallelTimeline
public class Storyboard : System.Windows.Media.Animation.ParallelTimeline
type Storyboard = class inherit ParallelTimeline
Public Class Storyboard Inherits ParallelTimeline
可控制的情节提要可以暂停、恢复、查找、停止和删除。 若要使情节提要在标记中可控制,请指定 Name 创建该情节提要的 BeginStoryboard 对象的 属性;有关示例,请参阅 如何:使用事件触发器在情节提要启动后控制情节提要 。 若要使情节提要在代码中可控制,必须使用情节提要 Begin 的 方法的适当重载并指定 true 以使其可控制。 有关示例,请参阅 如何:在情节提要启动后控制情节提要 。
true
大多数时间线属性都可以进行数据绑定或动画处理;但是,由于计时系统的工作方式,数据绑定或动画时间线的行为与其他数据绑定或动画对象的行为不一样。 若要了解其行为,有助于了解激活时间线的含义。
激活时间线时,将复制时间线及其子时间线。 系统将冻结这些副本(使它们成为只读副本),并且将根据它们来创建 Clock 对象。 这些时钟将执行对目标属性进行动画处理的实际工作。 如果时间线进行数据绑定或动画处理,则创建其时钟时,将对其当前值进行快照。 即使原始时间线可能会继续更改,但其时钟不会更改。
要使时间线反映数据绑定或动画更改,必须重新创建其时钟。 不会自动重新创建时钟。 以下是应用时间线更改的几种方法:
如果时间线是 Storyboard 或属于它,则可以通过使用 BeginStoryboard 或 Begin 方法重新应用其情节提要来使其反映更改。 这还会产生重新启动动画的附带影响。 在代码中,可以使用 Seek 方法将情节提要向前移回其之前的位置。
如果已使用 BeginAnimation 方法将动画直接应用到某个属性,则再次调用 BeginAnimation 方法并向其传递已修改的动画。
如果直接在时钟级别工作,请创建并应用一组新的时钟,并使用它们替换先前创建的时钟集。
有关数据绑定动画的示例,请参阅 关键样条动画示例 。
对指定依赖属性的值进行强制。 通过对调用方 DependencyObject 上存在的依赖属性的属性元数据中所指定的任何 CoerceValueCallback 函数进行调用来完成此操作。
重写 OnPropertyChanged(DependencyPropertyChangedEventArgs) 的 DependencyObject 实现,以同时调用任何响应类型 Freezable 不断变化的依赖属性的 Changed 处理程序。
引发 Freezable 的 Changed 事件并调用其 OnChanged() 方法。 从 Freezable 派生的类应在修改的类成员不存储为依赖属性的任何 API 的末尾调用此方法。
验证 Freezable 是否未被冻结,并且是否正在从有效的线程上下文中访问它。 Freezable 的继承项应当在任何 API 一开始写入不属于依赖项属性的数据成员时调用此方法。