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

取得 ClockController,可用來啟動、暫停、繼續、搜尋、略過、停止或移除這個 Clock

CurrentGlobalSpeed

取得時鐘目前行進速率,與實際時間相比較。

CurrentGlobalTime

取得目前全域時間,如 WPF 計時系統所建立。

CurrentIteration

取得這個時鐘的目前反覆項目。

CurrentProgress

取得這個 Clock 在其目前反覆項目內的目前進度。

CurrentState

取得值,指出時鐘目前為 ActiveFillingStopped

CurrentTime

取得這個時鐘在其目前反覆項目內的目前時間。

Dispatcher

取得與這個 Dispatcher 關聯的 DispatcherObject

(繼承來源 DispatcherObject)
HasControllableRoot

取得值,這個值表示這個 Clock 是否為可控制之時鐘樹狀結構的一部分。

IsPaused

取得值,這個值表示這個 Clock 或任何其父代是否暫停。

NaturalDuration

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

Parent

取得這個時鐘的父時鐘。

Timeline

取得在其中建立這個 TimelineClock

方法

CheckAccess()

判斷呼叫的執行是否可以存取這個 DispatcherObject

(繼承來源 DispatcherObject)
DiscontinuousTimeMovement()

在衍生類別中實作時,每當時鐘重複、略過或搜尋,就會叫用 (Invoke)。

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 方法時發生。

適用於