Timeline 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
定义一个时间段。
public ref class Timeline abstract : System::Windows::Media::Animation::Animatable
[System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)]
[System.Windows.Markup.RuntimeNameProperty("Name")]
public abstract class Timeline : System.Windows.Media.Animation.Animatable
[<System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)>]
[<System.Windows.Markup.RuntimeNameProperty("Name")>]
type Timeline = class
inherit Animatable
Public MustInherit Class Timeline
Inherits Animatable
- 继承
- 派生
- 属性
注解
时间线表示时间段。 它提供的属性让你可以指定该时间段的长度、开始时间、重复次数、该时间段内时间进度的快慢等。
从时间线类继承的类可提供附加功能,例如动画和媒体播放。 下面是一些不同类型的可用专用时间线的示例。
动画:是 AnimationTimeline 生成输出值的一种时间线类型。 将动画与属性关联时,动画在播放时更新属性的值,从而“创建”它。 有关动画的简介,请参阅 动画概述。 有关应用动画的不同方法的信息,请参阅 属性动画技术概述。
MediaTimelines:是 MediaTimeline 一种控制媒体文件播放的时间线类型。
ParallelTimelines:是 ParallelTimeline 一种对其他时间线进行分组的时间线类型。
情节提要:是 Storyboard 一种特殊类型的 ParallelTimeline ,它为它所包含的时间线提供对象和属性目标信息。 有关 Storyboard 对象的详细信息,请参阅 Storyboard 概述。
有关使用时间线的详细信息,请参阅 动画概述。 有关时间线计时功能的介绍,请参阅 计时行为概述。
数据绑定和对时间线进行动画处理
大多数时间线属性可以绑定数据或进行动画处理;但是,由于计时系统的工作方式,数据绑定或动画时间线的行为与其他数据绑定或动画对象的行为不一样。 若要了解其行为,有助于了解激活时间线的含义。
应用时间线时,将复制时间线及其子时间线。 系统将冻结这些副本(使它们成为只读副本),并且将根据它们来创建 Clock 对象。 正是这些时钟执行了对目标属性进行动画处理的实际工作。 如果时间线已绑定数据或进行动画处理,则会在创建其时钟时创建其当前值的快照。 即使原始时间线可能会继续更改,但其时钟不会更改。
要使时间线反映数据绑定或动画更改,必须重新生成其时钟。 时钟不会自动重新生成。 以下是应用时间线更改的几种方法:
如果时间线是 Storyboard 或属于它,则可以通过使用 BeginStoryboard 或 Begin 方法重新应用其情节提要来使其反映更改。 这还会产生重新启动动画的附带影响。 在代码中,可以使用 Seek 方法将情节提要向前移回其之前的位置。
如果使用 方法将动画直接应用于属性 BeginAnimation ,请再次调用 BeginAnimation 方法,并将已修改的动画传递给它。
如果要直接在时钟级别上工作,请创建并应用一组新的时钟,然后用它们替换之前生成的一组时钟。
有关数据绑定动画的示例,请参阅 关键样条动画示例 。
将时间线用作计时器
仅当有与时间线关联的事件处理程序或 (对象) 它与属性关联时 AnimationClock ,时间线的时钟才会进行。 因此, (和其他) ,不建议使用 Timeline 作为计时器。
构造函数
字段
AccelerationRatioProperty |
标识 AccelerationRatio 依赖项属性。 |
AutoReverseProperty |
标识 AutoReverse 依赖项属性。 |
BeginTimeProperty |
标识 BeginTime 依赖项属性。 |
DecelerationRatioProperty |
标识 DecelerationRatio 依赖属性。 |
DesiredFrameRateProperty |
标识 DesiredFrameRate 附加属性。 |
DurationProperty |
标识 Duration 依赖项属性。 |
FillBehaviorProperty |
标识 FillBehavior 依赖项属性。 |
NameProperty |
标识 Name 依赖项属性。 |
RepeatBehaviorProperty |
标识 RepeatBehavior 依赖项属性。 |
SpeedRatioProperty |
标识 SpeedRatio 依赖属性。 |
属性
AccelerationRatio |
获取或设置一个值,该值指定在将时间消逝从零加速到其最大速率的过程中所占用时间线的 Duration 的百分比。 |
AutoReverse |
获取或设置一个值,该值指示时间线在完成向前迭代后是否按相反的顺序播放。 |
BeginTime |
获取或设置此 Timeline 应开始的时间。 |
CanFreeze |
获取一个值,该值指示是否可将对象变为不可修改。 (继承自 Freezable) |
DecelerationRatio |
获取或设置一个值,该值指定在将时间消逝从其最大速率减速到零的过程中所占用时间线的 Duration 的百分比。 |
DependencyObjectType |
获取 DependencyObjectType 包装此实例的 CLR 类型的 。 (继承自 DependencyObject) |
Dispatcher |
获取与此 Dispatcher 关联的 DispatcherObject。 (继承自 DispatcherObject) |
Duration |
获取或设置此时间线播放的时间长度,而不是计数重复。 |
FillBehavior |
获取或设置一个值,该值指定 Timeline 在到达其有效期末尾后的行为。 |
HasAnimatedProperties |
获取一个值,该值指示一个或多个 AnimationClock 对象是否与此对象的任何依赖项属性相关联。 (继承自 Animatable) |
IsFrozen |
获取一个值,该值指示对象当前是否可修改。 (继承自 Freezable) |
IsSealed |
获取一个值,该值指示此实例当前是否为密封的(只读)。 (继承自 DependencyObject) |
Name |
获取或设置此 Timeline 的名称。 |
RepeatBehavior |
获取或设置此时间线的重复行为。 |
SpeedRatio |
获取或设置此 Timeline 的时间相对于其父级的前进速率。 |
附加属性
DesiredFrameRate |
获取或设置此时间线及其子时间线所需的帧速率。 |
方法
事件
Changed |
在修改 Freezable 或其包含的对象时发生。 (继承自 Freezable) |
Completed |
当此时间线完全播放完毕时发生:它将不再进入其活动周期。 |
CurrentGlobalSpeedInvalidated |
在时间线时钟的时间前进速率发生变化时发生。 |
CurrentStateInvalidated |
更新时间线的 Clock 的 CurrentState 属性时发生。 |
CurrentTimeInvalidated |
更新时间线的 Clock 的 CurrentTime 属性时发生。 |
RemoveRequested |
当移除为此时间线创建的时钟或其中一个父时间线时发生。 |