語言

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
繼承
衍生

備註

TimelineA 本身其實除了描述一段時間外,實際上沒有其他作用。 真正工作的是時間軸的 Clock 物件:它維持時間軸與時間相關的執行狀態。

大多數情況下,會自動為你的時間軸建立一個時鐘。 當你用 a Storyboard 或 方法 BeginAnimation 來做動畫時,時鐘會自動為你的時間軸和動畫建立,並套用到它們的目標屬性。 例如,請參見 《如何:使用分鏡來動畫化一個作品 》和《 如何:不使用分鏡動畫一個作品》。

你也可以透過這個Clock方法明確建立一個CreateClock。 在效能密集的情境中,例如大量相似物件的動畫,自行 Clock 管理使用能帶來效能提升。

時鐘排列成與其來源物件樹結構 Timeline 相符的樹狀結構。 此類時序樹的根時鐘可以透過取得其 Controller來互動式操作(暫停、恢復、停止等)。 非根時鐘無法直接控制。

一旦建立,時鐘無法被修改(但可以控)。

使用時間軸作為計時器

時間軸的時鐘只有在有事件處理程序關聯,或(物件 AnimationClock )與屬性相關聯時才會推進。 基於這個原因(以及其他原因),不建議使用 A Timeline 作為計時器。

給繼承者的注意事項

如果衍生類別想修改這個時鐘的時間流動方式,應該要實作 GetCurrentTimeCore() 。 導出類別可透過覆寫 DiscontinuousTimeMovement()、 SpeedChanged()、 Stopped() 和 方法,讓時鐘在重複、跳過、尋找、開始、暫停、恢復或停止時執行額外工作。

建構函式

名稱 Description
Clock(Timeline)

初始化類別的新實例 Clock ,並以指定的 Timeline 範本為範本。 新 Clock 物件沒有子嗣。

屬性

名稱 Description
Controller

取得ClockController一個可以用來開始、暫停、繼續、尋找、跳過、停止或移除這個的Clock

CurrentGlobalSpeed

取得時鐘目前時間與現實時間的進展速率。

CurrentGlobalTime

會獲得 WPF 計時系統所設定的當前全球時間。

CurrentIteration

取得這個時鐘的最新版本。

CurrentProgress

了解目前 Clock 版本的進展。

CurrentState

得到一個值,表示時鐘目前Active是 、 或 FillingStopped。

CurrentTime

取得此時鐘目前時間的當前迭代。

Dispatcher

了解 Dispatcher 這與此 DispatcherObject 有關。

(繼承來源 DispatcherObject)
HasControllableRoot

會得到一個值,指示此節點 Clock 是否屬於可控時鐘樹。

IsPaused

會得到一個值,表示這個 Clock或其任一父節點是否被暫停。

NaturalDuration

得到這個時鐘 Timeline的自然持續時間。

Parent

取得該時鐘的父時鐘。

Timeline

這正是 Timeline 這個故事的來源 Clock 。

方法

名稱 Description
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)

事件

名稱 Description
Completed

當這個時鐘完全播放完畢時會發生。

CurrentGlobalSpeedInvalidated

當時鐘速度更新時會發生。

CurrentStateInvalidated

當時鐘 CurrentState 屬性更新時會發生。

CurrentTimeInvalidated

當這個時鐘 CurrentTime 失效時會發生。

RemoveRequested

當 Remove() 方法在此或其父時鐘中被呼叫 Clock 時。

適用於