次の方法で共有


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
継承
派生

注釈

A Timelineは、それ自体では、実際には時間のセグメントを記述する以外の何も行いません。 実際の処理を行うのは、タイムラインの Clock オブジェクトです。このオブジェクトは、タイムラインのタイミングに関連する実行時状態を維持します。

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

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

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

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

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

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

注意 (継承者)

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

コンストラクター

Clock(Timeline)

指定した Clock をテンプレートとして使用して、Timeline クラスの新しいインスタンスを初期化します。 新しい 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

この Timeline の作成元である Clock を取得します。

メソッド

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)

events

Completed

クロックの再生が完全に終了すると発生します。

CurrentGlobalSpeedInvalidated

クロックの速度が更新されると発生します。

CurrentStateInvalidated

クロックの CurrentState プロパティが更新されると発生します。

CurrentTimeInvalidated

このクロックの CurrentTime が無効になると発生します。

RemoveRequested

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

適用対象