Clock 클래스

정의

Timeline의 런타임 타이밍 상태를 유지 관리합니다.Maintains run-time timing state for a 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자체는 실제로 시간 세그먼트를 설명 하는 것 이외의 다른 작업을 수행 하지 않습니다.A Timeline, by itself, doesn't actually do anything other than describe a segment of time. Clock실제 작업을 수행 하는 타임 라인의 개체입니다. 타임 라인은 타임 라인의 타이밍 관련 런타임 상태를 유지 합니다.It's the timeline's Clock object that does the real work: it maintains timing-related run-time state for the timeline.

대부분의 경우 타임 라인에 대 한 clock이 자동으로 만들어집니다.In most cases, a clock is created automatically for your timeline. 또는 메서드를 사용 하 여 애니메이션 효과를 주는 경우 Storyboard BeginAnimation 타임 라인 및 애니메이션에 대해 clock이 자동으로 생성 되 고 대상 속성에 적용 됩니다.When you animate by using a Storyboard or the BeginAnimation method, clocks are automatically created for your timelines and animations and applied to their targeted properties. 예제 는 방법: storyboard를 사용 하 여 속성에 애니메이션 효과 주기방법: Storyboard를 사용 하지 않고 속성에 애니메이션 효과 주기를 참조 하세요.For examples, see How to: Animate a Property by Using a Storyboard and How to: Animate a Property Without Using a Storyboard.

Clock메서드를 사용 하 여을 명시적으로 만들 수도 있습니다 CreateClock .You can also create a Clock explicitly by using the CreateClock method. 많은 수의 유사한 개체에 애니메이션을 적용 하는 것과 같은 성능 집약적인 시나리오에서 사용자 고유의 용도를 관리 하면 Clock 성능상의 이점을 얻을 수 있습니다.In performance-intensive scenarios, such as animating large numbers of similar objects, managing your own Clock use can provide performance benefits.

Clock은 생성 되는 개체 트리의 구조와 일치 하는 트리로 정렬 됩니다 Timeline .Clocks are arranged in trees that match the structure of the Timeline objects tree from which they are created. 이러한 타이밍 트리의 루트 clock은를 검색 하 여 대화형으로 조작 (일시 중지, 다시 시작, 중지 등) 할 수 있습니다 Controller .The root clock of such a timing tree can be interactively manipulated (paused, resumed, stopped, and so on) by retrieving its Controller. 루트가 아닌 clock은 직접 제어할 수 없습니다.Non-root clocks cannot be directly controlled.

일단 만들어지면 clock을 조작할 수 있지만 수정할 수는 없습니다.Once created, a clock cannot be modified (but it can be manipulated).

타임 라인을 타이머로 사용Using a Timeline as a Timer

타임 라인의 clock은 연결 된 이벤트 처리기가 있거나 (개체의 경우 AnimationClock ) 속성과 연결 되어 있는 경우에만 진행 됩니다.A timeline's clock will only progress when there's an event handler associated with it or (in the case of an AnimationClock object) it is associated with a property. 이러한 이유로를 타이머로 사용 하지 않는 것이 좋습니다 Timeline .For this reason (and others), it's not recommended that you use a Timeline as a timer.

상속자 참고

파생 클래스는 GetCurrentTimeCore() 이 clock의 시간 흐름을 수정 하려는 경우를 구현 해야 합니다.Derived classes should implement GetCurrentTimeCore() if they want to modify how time flows for this clock. DiscontinuousTimeMovement(), 및 메서드를 재정의 하 여 clock이 반복, 건너뛰기, 검색, 시작, 일시 중지, 다시 시작 또는 중지 하는 경우 추가 작업을 수행 하도록 파생 클래스를 만들 수 있습니다 SpeedChanged() Stopped() .Derived classes can be made to do additional work when the clock repeats, skips, seeks, begins, pauses, resumes, or stops by overriding the DiscontinuousTimeMovement(), SpeedChanged(), and Stopped() methods.

생성자

Clock(Timeline)

지정한 Clock을 템플릿으로 사용하여 Timeline 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Clock class, using the specified Timeline as a template. Clock 개체에는 자식이 없습니다.The new Clock object has no children.

속성

Controller

Clock을 시작, 일시 중지, 다시 시작, 검색, 건너뛰기, 중지 또는 제거할 수 있는 ClockController를 가져옵니다.Gets a ClockController that can be used to start, pause, resume, seek, skip, stop, or remove this Clock.

CurrentGlobalSpeed

클록의 시간이 현재 진행되는 속도를 실제 시간과 비교하여 가져옵니다.Gets the rate at which the clock's time is currently progressing, compared to real-world time.

CurrentGlobalTime

WPFWPF 타이밍 시스템을 통해 설정된 현재 전역 시간을 가져옵니다.Gets the current global time, as established by the WPFWPF timing system.

CurrentIteration

이 Clock의 현재 반복을 가져옵니다.Get the current iteration of this clock.

CurrentProgress

현재 반복 내에서 이 Clock의 현재 진행률을 가져옵니다.Gets the current progress of this Clock within its current iteration.

CurrentState

클록이 현재 Active, Filling 또는 Stopped인지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the clock is currently Active, Filling, or Stopped.

CurrentTime

현재 반복 내에서 이 Clock의 현재 시간을 가져옵니다.Gets this clock's current time within its current iteration.

Dispatcher

Dispatcher와 연결된 DispatcherObject를 가져옵니다.Gets the Dispatcher this DispatcherObject is associated with.

(다음에서 상속됨 DispatcherObject)
HasControllableRoot

Clock이 제어 가능한 Clock 트리의 일부인지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether this Clock is part of a controllable clock tree.

IsPaused

Clock 또는 부모 Clock이 일시 중지되어 있는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether this Clock, or any of its parents, is paused.

NaturalDuration

이 Clock Timeline의 기본 재생 시간을 가져옵니다.Gets the natural duration of this clock's Timeline.

Parent

이 Clock의 부모 Clock을 가져옵니다.Gets the clock that is the parent of this clock.

Timeline

Timeline을 만든 Clock을 가져옵니다.Gets the Timeline from which this Clock was created.

메서드

CheckAccess()

호출 스레드가 이 DispatcherObject에 액세스할 수 있는지 여부를 확인합니다.Determines whether the calling thread has access to this DispatcherObject.

(다음에서 상속됨 DispatcherObject)
DiscontinuousTimeMovement()

파생 클래스에서 구현된 경우 Clock이 반복, 건너뛰기 또는 검색할 때마다 호출됩니다.When implemented in a derived class, will be invoked whenever a clock repeats, skips, or seeks.

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
GetCanSlip()

Clock에 타이밍 시스템과 동기화해야 될 수도 있는 외부 시간 소스가 있는지 여부를 반환합니다.Returns whether the Clock has its own external time source, which may require synchronization with the timing system.

GetCurrentTimeCore()

현재 반복 내에서 이 Clock의 현재 시간을 가져옵니다.Gets this clock's current time within its current iteration.

GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
SpeedChanged()

파생 클래스에서 구현된 경우 Clock이 시작, 건너뛰기, 일시 중지, 다시 시작할 때마다 또는 Clock의 SpeedRatio가 수정될 때 호출됩니다.When implemented in a derived class, will be invoked whenever a clock begins, skips, pauses, resumes, or when the clock's SpeedRatio is modified.

Stopped()

파생 클래스에서 구현된 경우 Stop() 메서드를 사용하여 Clock이 중지될 때마다 호출됩니다.When implemented in a derived class, will be invoked whenever a clock is stopped using the Stop() method.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)
VerifyAccess()

호출 스레드에서 이 DispatcherObject에 액세스할 수 있는지 확인합니다.Enforces that the calling thread has access to this DispatcherObject.

(다음에서 상속됨 DispatcherObject)

이벤트

Completed

이 Clock의 재생이 완전히 끝나면 발생합니다.Occurs when this clock has completely finished playing.

CurrentGlobalSpeedInvalidated

클록의 속도가 업데이트될 때 발생합니다.Occurs when the clock's speed is updated.

CurrentStateInvalidated

클록의 CurrentState 속성이 업데이트될 때 발생합니다.Occurs when the clock's CurrentState property is updated.

CurrentTimeInvalidated

이 Clock의 CurrentTime을 사용할 수 없게 되면 발생합니다.Occurs when this clock's CurrentTime becomes invalid.

RemoveRequested

Remove() 메서드가 이 Clock 또는 부모 Clock 중 하나에 대해 호출되면 발생합니다.Occurs when the Remove() method is called on this Clock or one of its parent clocks.

적용 대상