Clock Třída

Definice

Udržuje stav časování v čase běhu pro 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
Dědičnost
Odvozené

Poznámky

TimelineSama o sobě sám o sobě nedělá žádnou jinou část času.A Timeline, by itself, doesn't actually do anything other than describe a segment of time. Jedná se o objekt časové osy Clock , který provádí skutečnou práci: udržuje časový harmonogram související s časováním pro časovou osu.It's the timeline's Clock object that does the real work: it maintains timing-related run-time state for the timeline.

Ve většině případů se pro vaši časovou osu automaticky vytvoří hodiny.In most cases, a clock is created automatically for your timeline. Při animaci pomocí Storyboard metody nebo se BeginAnimation automaticky vytvoří hodiny pro vaše časové osy a animace a aplikují se na jejich cílené vlastnosti.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. Příklady naleznete v tématu How to: animace vlastnosti pomocí scénáře a Postupy: animace vlastnosti bez použití scénáře.For examples, see How to: Animate a Property by Using a Storyboard and How to: Animate a Property Without Using a Storyboard.

Můžete také vytvořit Clock explicitně pomocí CreateClock metody.You can also create a Clock explicitly by using the CreateClock method. Ve scénářích náročných na výkon, jako je animování velkého počtu podobných objektů, může správa vlastního Clock použití poskytovat výhody pro výkon.In performance-intensive scenarios, such as animating large numbers of similar objects, managing your own Clock use can provide performance benefits.

Hodiny jsou uspořádány ve stromech, které odpovídají struktuře Timeline stromu objektů, ze kterých jsou vytvořeny.Clocks are arranged in trees that match the structure of the Timeline objects tree from which they are created. Kořenové hodiny takového stromu časování lze interaktivně manipulovat (pozastaveno, obnoveno, zastaveno atd.) načtením jeho Controller .The root clock of such a timing tree can be interactively manipulated (paused, resumed, stopped, and so on) by retrieving its Controller. Nekořenové hodiny nelze přímo ovládat.Non-root clocks cannot be directly controlled.

Po vytvoření nebude možné měnit hodiny (ale lze je zpracovat).Once created, a clock cannot be modified (but it can be manipulated).

Použití časové osy jako časovačeUsing a Timeline as a Timer

Hodiny časové osy budou probíhat pouze v případě, že je k ní přidružena obslužná rutina události nebo (v případě AnimationClock objektu) je přidružena k vlastnosti.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. Z tohoto důvodu (a dalších) se nedoporučuje používat Timeline jako časovač.For this reason (and others), it's not recommended that you use a Timeline as a timer.

Poznámky pro dědice

Odvozené třídy by měly implementovat, GetCurrentTimeCore() Pokud chtějí změnit způsob, jakým jsou časové toky pro tyto hodiny.Derived classes should implement GetCurrentTimeCore() if they want to modify how time flows for this clock. Odvozené třídy je možné provést pro další práci, pokud se hodiny opakují, přeskočí, hledají, začínají, pozastaví, obnoví nebo zastaví pomocí přepsání DiscontinuousTimeMovement() SpeedChanged() metod, a 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.

Konstruktory

Clock(Timeline)

Inicializuje novou instanci Clock třídy pomocí zadaného Timeline jako šablony.Initializes a new instance of the Clock class, using the specified Timeline as a template. Nový Clock objekt nemá žádné podřízené položky.The new Clock object has no children.

Vlastnosti

Controller

Získá, ClockController který se dá použít ke spuštění, pozastavení, obnovení, hledání, přeskočení, zastavení nebo odebrání tohoto Clock .Gets a ClockController that can be used to start, pause, resume, seek, skip, stop, or remove this Clock.

CurrentGlobalSpeed

Získá rychlost, s jakou aktuálně probíhá zpracování času, ve srovnání s časem reálného světa.Gets the rate at which the clock's time is currently progressing, compared to real-world time.

CurrentGlobalTime

Získá aktuální globální čas, jak je stanoveno WPFWPF systémem časování.Gets the current global time, as established by the WPFWPF timing system.

CurrentIteration

Získá aktuální iteraci tohoto času.Get the current iteration of this clock.

CurrentProgress

Získá aktuální průběh Clock v rámci své aktuální iterace.Gets the current progress of this Clock within its current iteration.

CurrentState

Načte hodnotu, která označuje, zda jsou hodiny aktuálně Active , Filling nebo Stopped .Gets a value indicating whether the clock is currently Active, Filling, or Stopped.

CurrentTime

Získá aktuální čas hodin v rámci aktuální iterace.Gets this clock's current time within its current iteration.

Dispatcher

Získá Dispatcher přidružený k DispatcherObject .Gets the Dispatcher this DispatcherObject is associated with.

(Zděděno od DispatcherObject)
HasControllableRoot

Načte hodnotu, která označuje, zda Clock se jedná o součást seovladatelného stromu hodin.Gets a value that indicates whether this Clock is part of a controllable clock tree.

IsPaused

Načte hodnotu, která označuje, zda Clock je tento nebo některý z jeho nadřazených objektů pozastaven.Gets a value that indicates whether this Clock, or any of its parents, is paused.

NaturalDuration

Získá přirozené trvání tohoto času Timeline .Gets the natural duration of this clock's Timeline.

Parent

Získá hodiny, které jsou nadřazenými těmito hodinami.Gets the clock that is the parent of this clock.

Timeline

Získá, Timeline ze kterého Clock byl vytvořen.Gets the Timeline from which this Clock was created.

Metody

CheckAccess()

Určuje, zda má volající vlákno přístup DispatcherObject .Determines whether the calling thread has access to this DispatcherObject.

(Zděděno od DispatcherObject)
DiscontinuousTimeMovement()

Při implementaci v odvozené třídě bude vyvoláno pokaždé, když dojde k opakování hodin, přeskočení nebo hledání.When implemented in a derived class, will be invoked whenever a clock repeats, skips, or seeks.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

(Zděděno od Object)
GetCanSlip()

Vrátí, zda Clock má vlastní externí zdroj času, který může vyžadovat synchronizaci se systémem časování.Returns whether the Clock has its own external time source, which may require synchronization with the timing system.

GetCurrentTimeCore()

Získá aktuální čas hodin v rámci aktuální iterace.Gets this clock's current time within its current iteration.

GetHashCode()

Slouží jako výchozí funkce hash.Serves as the default hash function.

(Zděděno od Object)
GetType()

Získá Type aktuální instanci.Gets the Type of the current instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří kopii aktuálního seznamu Object .Creates a shallow copy of the current Object.

(Zděděno od Object)
SpeedChanged()

Při implementaci v odvozené třídě bude vyvoláno vždy, když začíná hodiny, přeskočí, pozastaví, obnoví nebo když se SpeedRatio změní hodiny.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()

Při implementaci v odvozené třídě bude vyvolána pokaždé, když dojde k zastavení hodin pomocí Stop() metody.When implemented in a derived class, will be invoked whenever a clock is stopped using the Stop() method.

ToString()

Vrátí řetězec, který představuje aktuální objekt.Returns a string that represents the current object.

(Zděděno od Object)
VerifyAccess()

Vynutilo, aby volající vlákno měl přístup DispatcherObject .Enforces that the calling thread has access to this DispatcherObject.

(Zděděno od DispatcherObject)

Události

Completed

Vyvolá se v případě, že se tento čas úplně dokončí.Occurs when this clock has completely finished playing.

CurrentGlobalSpeedInvalidated

Vyvolá se při aktualizaci rychlosti hodin.Occurs when the clock's speed is updated.

CurrentStateInvalidated

Vyvolá se v případě, že CurrentState je aktualizována vlastnost hodin.Occurs when the clock's CurrentState property is updated.

CurrentTimeInvalidated

Vyvolá se v případě, že se toto hodiny CurrentTime stane neplatným.Occurs when this clock's CurrentTime becomes invalid.

RemoveRequested

Vyvolá se v případě, že Remove() je metoda volána na základě této Clock nebo některé z jejích nadřazených hodin.Occurs when the Remove() method is called on this Clock or one of its parent clocks.

Platí pro