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
- 繼承
- 衍生
備註
TimelineA 本身其實除了描述一段時間外,實際上沒有其他作用。 真正工作的是時間軸的 Clock 物件:它維持時間軸與時間相關的執行狀態。
大多數情況下,會自動為你的時間軸建立一個時鐘。 當你用 a Storyboard 或 方法 BeginAnimation 來做動畫時,時鐘會自動為你的時間軸和動畫建立,並套用到它們的目標屬性。 例如,請參見 《如何:使用分鏡來動畫化一個作品 》和《 如何:不使用分鏡動畫一個作品》。
你也可以透過這個Clock方法明確建立一個CreateClock。 在效能密集的情境中,例如大量相似物件的動畫,自行 Clock 管理使用能帶來效能提升。
時鐘排列成與其來源物件樹結構 Timeline 相符的樹狀結構。 此類時序樹的根時鐘可以透過取得其 Controller來互動式操作(暫停、恢復、停止等)。 非根時鐘無法直接控制。
一旦建立,時鐘無法被修改(但可以控)。
使用時間軸作為計時器
時間軸的時鐘只有在有事件處理程序關聯,或(物件 AnimationClock )與屬性相關聯時才會推進。 基於這個原因(以及其他原因),不建議使用 A Timeline 作為計時器。
給繼承者的注意事項
如果衍生類別想修改這個時鐘的時間流動方式,應該要實作 GetCurrentTimeCore() 。 導出類別可透過覆寫 DiscontinuousTimeMovement()、 SpeedChanged()、 Stopped() 和 方法,讓時鐘在重複、跳過、尋找、開始、暫停、恢復或停止時執行額外工作。
建構函式
| 名稱 | Description |
|---|---|
| Clock(Timeline) |
屬性
| 名稱 | Description |
|---|---|
| Controller |
取得ClockController一個可以用來開始、暫停、繼續、尋找、跳過、停止或移除這個的Clock |
| CurrentGlobalSpeed |
取得時鐘目前時間與現實時間的進展速率。 |
| CurrentGlobalTime |
會獲得 WPF 計時系統所設定的當前全球時間。 |
| CurrentIteration |
取得這個時鐘的最新版本。 |
| CurrentProgress |
了解目前 Clock 版本的進展。 |
| CurrentState | |
| CurrentTime |
取得此時鐘目前時間的當前迭代。 |
| Dispatcher |
了解 Dispatcher 這與此 DispatcherObject 有關。 (繼承來源 DispatcherObject) |
| HasControllableRoot |
會得到一個值,指示此節點 Clock 是否屬於可控時鐘樹。 |
| IsPaused |
會得到一個值,表示這個 Clock或其任一父節點是否被暫停。 |
| NaturalDuration |
得到這個時鐘 Timeline的自然持續時間。 |
| Parent |
取得該時鐘的父時鐘。 |
| Timeline |
方法
| 名稱 | 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 |