Clock Sınıf

Tanım

Bir için çalışma zamanı zamanlama durumunu korur 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
Devralma
Türetilmiş

Açıklamalar

TimelineTek başına, bir zaman kesimini betimleyen, aslında hiçbir şey yapmaz.A Timeline, by itself, doesn't actually do anything other than describe a segment of time. Bu, gerçek işi yapan zaman çizelgesinin Clock nesnesidir: zaman çizelgesi için zamanlamasıyla ilgili çalışma zamanı durumunu saklar.It's the timeline's Clock object that does the real work: it maintains timing-related run-time state for the timeline.

Çoğu durumda, zaman çizelgeniz için bir saat otomatik olarak oluşturulur.In most cases, a clock is created automatically for your timeline. Veya yöntemini kullanarak animasyon uyguladığınızda Storyboard BeginAnimation , saatler zaman çizelgelerinizi ve animasyonlarınız için otomatik olarak oluşturulur ve hedeflenen özelliklerine uygulanır.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. Örnekler için bkz. nasıl yapılır: görsel taslak kullanarak özelliğe animasyon ekleme ve nasıl yapılır: görsel taslak kullanmadan özelliğe animasyonekleme.For examples, see How to: Animate a Property by Using a Storyboard and How to: Animate a Property Without Using a Storyboard.

ClockYöntemini kullanarak açıkça de oluşturabilirsiniz CreateClock .You can also create a Clock explicitly by using the CreateClock method. Benzer nesnelerin büyük sayısını hareketlendirmek gibi performans açısından yoğun senaryolarda, kendi Clock kullanımlarınızın yönetilmesi performans avantajları sağlayabilir.In performance-intensive scenarios, such as animating large numbers of similar objects, managing your own Clock use can provide performance benefits.

Saatler, oluşturuldukları nesne ağacının yapısıyla eşleşen ağaçlara göre düzenlenir Timeline .Clocks are arranged in trees that match the structure of the Timeline objects tree from which they are created. Bu tür bir zamanlama ağacının kök saati, ' ı alarak etkileşimli olarak değiştirilebilir (duraklatılabilir, sürdürülür, durdurulabilir, vb Controller .).The root clock of such a timing tree can be interactively manipulated (paused, resumed, stopped, and so on) by retrieving its Controller. Kök olmayan saatler doğrudan denetlenemez.Non-root clocks cannot be directly controlled.

Oluşturulduktan sonra saat değiştirilemez (ancak değiştirilebilir).Once created, a clock cannot be modified (but it can be manipulated).

Zamanlayıcı olarak zaman çizelgesi kullanmaUsing a Timeline as a Timer

Bir zaman çizelgesinin saati, kendisiyle ilişkili bir olay işleyicisi olduğunda veya (bir nesne söz konusu olduğunda AnimationClock ) bir özellikle ilişkili olduğunda ilerleme olur.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. Bu nedenle (ve diğerleri), bir zamanlayıcı olarak bir kullanmanız önerilmez Timeline .For this reason (and others), it's not recommended that you use a Timeline as a timer.

Devralanlara Notlar

Türetilmiş sınıfların GetCurrentTimeCore() Bu saat için zaman akışlarını değiştirmek istiyorlarsa uygulamanız gerekir.Derived classes should implement GetCurrentTimeCore() if they want to modify how time flows for this clock. Türetilmiş sınıflar,,, ve yöntemlerini geçersiz kılarak yineleme, atlar, arar, başlar, duraklatılır, sürdürülür veya durdurulduğunda ek iş yapmak için kullanılabilir DiscontinuousTimeMovement() 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.

Oluşturucular

Clock(Timeline)

ClockŞablon olarak belirtilen ' ı kullanarak sınıfının yeni bir örneğini başlatır Timeline .Initializes a new instance of the Clock class, using the specified Timeline as a template. Yeni Clock nesnenin alt öğesi yok.The new Clock object has no children.

Özellikler

Controller

ClockControllerBunu başlatmak, duraklatmak, devam etmek, aramak, atlamak, durdurmak veya kaldırmak için kullanılabilecek bir alır Clock .Gets a ClockController that can be used to start, pause, resume, seek, skip, stop, or remove this Clock.

CurrentGlobalSpeed

Gerçek zamanlı saate kıyasla, saat saatinin Şu anda ilerme hızını alır.Gets the rate at which the clock's time is currently progressing, compared to real-world time.

CurrentGlobalTime

Zamanlama sistemi tarafından belirlenen geçerli genel saati alır WPFWPF .Gets the current global time, as established by the WPFWPF timing system.

CurrentIteration

Bu saatin geçerli yinelemesini alın.Get the current iteration of this clock.

CurrentProgress

Geçerli yineleme içinde bunun geçerli ilerlemesini alır Clock .Gets the current progress of this Clock within its current iteration.

CurrentState

Saatin Şu anda, veya olduğunu gösteren bir değer Active alır Filling Stopped .Gets a value indicating whether the clock is currently Active, Filling, or Stopped.

CurrentTime

Geçerli yineleme içinde bu saatin geçerli saatini alır.Gets this clock's current time within its current iteration.

Dispatcher

Dispatcher DispatcherObject İle ilişkili olduğunu alır.Gets the Dispatcher this DispatcherObject is associated with.

(Devralındığı yer: DispatcherObject)
HasControllableRoot

Bu Clock , denetlenebilir saat ağacının bir parçası olup olmadığını gösteren bir değer alır.Gets a value that indicates whether this Clock is part of a controllable clock tree.

IsPaused

Bunun Clock veya üst öğelerinden birinin duraklatıldığını belirten bir değer alır.Gets a value that indicates whether this Clock, or any of its parents, is paused.

NaturalDuration

Bu saatin doğal süresini alır Timeline .Gets the natural duration of this clock's Timeline.

Parent

Bu saatin üst öğesi olan saati alır.Gets the clock that is the parent of this clock.

Timeline

TimelineBu oluşturulduğu ' i alır Clock .Gets the Timeline from which this Clock was created.

Yöntemler

CheckAccess()

Çağıran iş parçacığının bu öğesine erişip erişemeyeceğini belirler DispatcherObject .Determines whether the calling thread has access to this DispatcherObject.

(Devralındığı yer: DispatcherObject)
DiscontinuousTimeMovement()

Türetilmiş bir sınıfta uygulandığında, bir saat yinelendiğinde, atlar veya aradıklarında çağrılacaktır.When implemented in a derived class, will be invoked whenever a clock repeats, skips, or seeks.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.Determines whether the specified object is equal to the current object.

(Devralındığı yer: Object)
GetCanSlip()

ClockÖğesinin kendi dış saat kaynağına sahip olup olmadığını döndürür ve bu, zamanlama sistemiyle eşitleme gerektirebilir.Returns whether the Clock has its own external time source, which may require synchronization with the timing system.

GetCurrentTimeCore()

Geçerli yineleme içinde bu saatin geçerli saatini alır.Gets this clock's current time within its current iteration.

GetHashCode()

Varsayılan karma işlevi olarak işlev görür.Serves as the default hash function.

(Devralındığı yer: Object)
GetType()

TypeGeçerli örneği alır.Gets the Type of the current instance.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli bir basit kopyasını oluşturur Object .Creates a shallow copy of the current Object.

(Devralındığı yer: Object)
SpeedChanged()

Türetilmiş bir sınıfta uygulandığında, saat başlatıldığında çağrılır, duraklar, duraklatılır, devam eder veya saatin değiştirildiği zaman çağrılır 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()

Türetilmiş bir sınıfta uygulandığında, yöntemi kullanılarak her saat durdurulduğunda çağrılır Stop() .When implemented in a derived class, will be invoked whenever a clock is stopped using the Stop() method.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.Returns a string that represents the current object.

(Devralındığı yer: Object)
VerifyAccess()

Çağıran iş parçacığının buna erişimi olmasını zorlar DispatcherObject .Enforces that the calling thread has access to this DispatcherObject.

(Devralındığı yer: DispatcherObject)

Ekinlikler

Completed

Bu saatin yürütülmesi tamamen bittiğinde gerçekleşir.Occurs when this clock has completely finished playing.

CurrentGlobalSpeedInvalidated

Saatin hızı güncelleştirildiği zaman gerçekleşir.Occurs when the clock's speed is updated.

CurrentStateInvalidated

Saatin özelliği güncelleştirildiği zaman gerçekleşir CurrentState .Occurs when the clock's CurrentState property is updated.

CurrentTimeInvalidated

Bu saatin CurrentTime geçersiz hale geldiği zaman gerçekleşir.Occurs when this clock's CurrentTime becomes invalid.

RemoveRequested

Remove()Yöntem bu Clock veya üst saatlerinin bir üzerinde çağrıldığında gerçekleşir.Occurs when the Remove() method is called on this Clock or one of its parent clocks.

Şunlara uygulanır