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 |
取得 ClockController,可用來啟動、暫停、繼續、搜尋、略過、停止或移除這個 Clock。 |
CurrentGlobalSpeed |
取得時鐘目前行進速率,與實際時間相比較。 |
CurrentGlobalTime |
取得目前全域時間,如 WPF 計時系統所建立。 |
CurrentIteration |
取得這個時鐘的目前反覆項目。 |
CurrentProgress |
取得這個 Clock 在其目前反覆項目內的目前進度。 |
CurrentState | |
CurrentTime |
取得這個時鐘在其目前反覆項目內的目前時間。 |
Dispatcher |
取得與這個 Dispatcher 關聯的 DispatcherObject。 (繼承來源 DispatcherObject) |
HasControllableRoot |
取得值,這個值表示這個 Clock 是否為可控制之時鐘樹狀結構的一部分。 |
IsPaused |
取得值,這個值表示這個 Clock 或任何其父代是否暫停。 |
NaturalDuration |
取得這個時鐘之 Timeline 的自然持續時間。 |
Parent |
取得這個時鐘的父時鐘。 |
Timeline |
方法
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 |