Clock 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
维护 Timeline 的运行时时序状态。
public ref class Clock : System::Windows::Threading::DispatcherObject
public class Clock : System.Windows.Threading.DispatcherObject
type Clock = class
inherit DispatcherObject
Public Class Clock
Inherits DispatcherObject
- 继承
- 派生
注解
本身 Timeline,除了描述一段时间之外,它实际上不会执行任何其他操作。 它是执行实际工作的时间线 Clock 对象:它维护时间线与计时相关的运行时状态。
在大多数情况下,会自动为时间线创建时钟。 使用 Storyboard 或 BeginAnimation 方法进行动画处理时,会自动为时间线和动画创建时钟,并应用于其目标属性。 有关示例,请参阅 How to: Animate a Property by Using a Storyboard and How to: Animate a Property without using a Storyboard.
还可以使用CreateClock该方法显式创建一个Clock。 在性能密集型方案中,例如对大量类似对象进行动画处理,管理自己的 Clock 用途可提供性能优势。
时钟排列在树中,与创建对象树的结构 Timeline 匹配。 可以通过检索) 以交互方式操作此类计时树的根时钟 (暂停、恢复、停止等 Controller。 无法直接控制非根时钟。
创建后,无法 (修改时钟,但可以) 对其进行操作。
使用时间线作为计时器
仅当存在与其关联的事件处理程序或 (对象时,时间线的 AnimationClock 时钟才会进行,) 它与属性相关联。 出于此原因, (和其他) ,不建议使用 Timeline 计时器。
继承者说明
如果派生类想要修改此时钟的时间流动方式,应实现 GetCurrentTimeCore() 这些类。 当时钟重复、跳过、查找、开始、暂停、恢复或停止时,可以进行派生类以执行其他工作,方法是重写DiscontinuousTimeMovement()SpeedChanged()Stopped()和方法。
构造函数
Clock(Timeline) |
属性
Controller |
获取可用来启动、暂停、恢复、查找、跳过、停止或删除此 Clock 的 ClockController。 |
CurrentGlobalSpeed |
获取与现实世界的时间相比较,时钟时间的当前前进速率。 |
CurrentGlobalTime |
获取由 WPF 计时系统建立的当前全局时间。 |
CurrentIteration |
获取此时钟的当前迭代。 |
CurrentProgress |
获取此 Clock 在其当前迭代中的当前进度。 |
CurrentState | |
CurrentTime |
在此时钟的当前迭代中获取它的当前时间。 |
Dispatcher |
获取与此 Dispatcher 关联的 DispatcherObject。 (继承自 DispatcherObject) |
HasControllableRoot |
获取一个值,该值指示此 Clock 是否为可控制的时钟树的一部分。 |
IsPaused |
获取指示此 Clock 或其任何父级是否已暂停的值。 |
NaturalDuration |
获取此时钟的 Timeline 的自然持续时间。 |
Parent |
获取此时钟的父时钟。 |
Timeline |
方法
CheckAccess() |
确定调用线程是否可以访问此 DispatcherObject。 (继承自 DispatcherObject) |
DiscontinuousTimeMovement() |
在派生类中实现后,每当时钟重复、跳过或查找时就会调用它。 |
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetCanSlip() |
返回 Clock 是否具有可能需要与计时系统同步的自己的外部时间源。 |
GetCurrentTimeCore() |
在此时钟的当前迭代中获取它的当前时间。 |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
SpeedChanged() |
在派生类中实现后,每当时钟启动、跳过、暂停、继续时或时钟的 SpeedRatio 被修改时,就会调用它。 |
Stopped() |
在派生类中实现后,每当使用 Stop() 方法停止时钟时,就会调用它。 |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |
VerifyAccess() |
强制调用线程具有此 DispatcherObject 的访问权限。 (继承自 DispatcherObject) |
事件
Completed |
当此时钟完全播放完毕时发生。 |
CurrentGlobalSpeedInvalidated |
在更新时钟速度时发生。 |
CurrentStateInvalidated |
当更新时钟的 CurrentState 属性时发生。 |
CurrentTimeInvalidated |
当此时钟的 CurrentTime 变为无效时发生。 |
RemoveRequested |