Clock 类

定义

维护 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 对象:它维护时间线与计时相关的运行时状态。

在大多数情况下,会自动为时间线创建时钟。 使用 StoryboardBeginAnimation 方法进行动画处理时,会自动为时间线和动画创建时钟,并应用于其目标属性。 有关示例,请参阅 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)

使用指定的 Clock 作为模板来初始化 Timeline 类的新实例。 新的 Clock 对象没有子级。

属性

Controller

获取可用来启动、暂停、恢复、查找、跳过、停止或删除此 ClockClockController

CurrentGlobalSpeed

获取与现实世界的时间相比较,时钟时间的当前前进速率。

CurrentGlobalTime

获取由 WPF 计时系统建立的当前全局时间。

CurrentIteration

获取此时钟的当前迭代。

CurrentProgress

获取此 Clock 在其当前迭代中的当前进度。

CurrentState

获取指示时钟当前处于 ActiveFilling 还是 Stopped 状态的值。

CurrentTime

在此时钟的当前迭代中获取它的当前时间。

Dispatcher

获取与此 Dispatcher 关联的 DispatcherObject

(继承自 DispatcherObject)
HasControllableRoot

获取一个值,该值指示此 Clock 是否为可控制的时钟树的一部分。

IsPaused

获取指示此 Clock 或其任何父级是否已暂停的值。

NaturalDuration

获取此时钟的 Timeline 的自然持续时间。

Parent

获取此时钟的父时钟。

Timeline

获取创建此 Timeline 时基于的 Clock

方法

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

当对此 Remove() 或其父时钟之一调用 Clock 方法时发生。

适用于