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 オブジェクトは、実際の作業を行います。タイムラインのタイミング関連のランタイム状態を維持します。

ほとんどの場合、タイムラインのクロックが自動的に作成されます。 StoryboardまたはBeginAnimationメソッドを使用してアニメーション化すると、タイムラインとアニメーションのクロックが自動的に作成され、そのターゲット プロパティに適用されます。 例については、「 方法: ストーリーボードを使用してプロパティをアニメーション化 する」と「 方法: ストーリーボードを使用せずにプロパティをアニメーション化する」を参照してください。

CreateClock メソッドを使用して、Clockを明示的に作成することもできます。 多数の類似オブジェクトのアニメーション化など、パフォーマンスを集中的に要するシナリオでは、独自の Clock の使用を管理すると、パフォーマンス上の利点が得られます。

クロックは、作成元の Timeline オブジェクト ツリーの構造に一致するツリーに配置されます。 このようなタイミング ツリーのルート クロックは、 Controllerを取得することによって対話形式で操作 (一時停止、再開、停止など) できます。 非ルート クロックを直接制御することはできません。

一度作成すると、クロックを変更することはできません (ただし、操作することはできます)。

タイムラインをタイマーとして使用する

タイムラインの時計は、イベント ハンドラーが関連付けられている場合、または ( AnimationClock オブジェクトの場合) プロパティに関連付けられている場合にのみ進行します。 このため 、タイマーとして Timeline を使用することはお勧めしません。

注意 (継承者)

派生クラスでは、このクロックの時間フローを変更する場合は、 GetCurrentTimeCore() を実装する必要があります。 派生クラスは、 DiscontinuousTimeMovement()SpeedChanged()、および Stopped() メソッドをオーバーライドすることで、クロックの繰り返し、スキップ、シーク、開始、一時停止、再開、または停止時に追加の作業を行うことができます。

コンストラクター

名前 説明
Clock(Timeline)

指定したTimelineをテンプレートとして使用して、Clock クラスの新しいインスタンスを初期化します。 新しい Clock オブジェクトには子がありません。

プロパティ

名前 説明
Controller

このClockを開始、一時停止、再開、シーク、スキップ、停止、または削除するために使用できるClockControllerを取得します。

CurrentGlobalSpeed

実際の時刻と比較して、クロックの時間が現在進行している速度を取得します。

CurrentGlobalTime

WPF タイミング システムによって確立された現在のグローバル時刻を取得します。

CurrentIteration

このクロックの現在のイテレーションを取得します。

CurrentProgress

現在のイテレーション内のこの Clock の現在の進行状況を取得します。

CurrentState

クロックが現在 ActiveFilling、または Stoppedかどうかを示す値を取得します。

CurrentTime

現在のイテレーション内のこのクロックの現在の時刻を取得します。

Dispatcher

このDispatcherが関連付けられているDispatcherObjectを取得します。

(継承元 DispatcherObject)
HasControllableRoot

この Clock が制御可能なクロック ツリーの一部であるかどうかを示す値を取得します。

IsPaused

この Clockまたはその親のいずれかが一時停止されているかどうかを示す値を取得します。

NaturalDuration

このクロックの Timelineの自然な継続時間を取得します。

Parent

このクロックの親であるクロックを取得します。

Timeline

このClockが作成されたTimelineを取得します。

メソッド

名前 説明
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

このClockまたはその親クロックのいずれかでRemove() メソッドが呼び出されたときに発生します。

適用対象