Timeline Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Definierar ett tidssegment.
public ref class Timeline abstract : System::Windows::Media::Animation::Animatable
[System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)]
[System.Windows.Markup.RuntimeNameProperty("Name")]
public abstract class Timeline : System.Windows.Media.Animation.Animatable
[<System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)>]
[<System.Windows.Markup.RuntimeNameProperty("Name")>]
type Timeline = class
inherit Animatable
Public MustInherit Class Timeline
Inherits Animatable
- Arv
- Härledda
- Attribut
Kommentarer
En tidslinje representerar ett tidssegment. Den innehåller egenskaper som gör att du kan ange längden på segmentet, när det ska starta, hur många gånger det upprepas, hur snabbt tiden går i segmentet med mera.
Klasser som ärver från tidslinjeklassen ger ytterligare funktioner, till exempel animering och medieuppspelning. Följande är exempel på några av de olika typerna av tillgängliga specialiserade tidslinjer.
Animeringar: En AnimationTimeline är en typ av tidslinje som genererar utdatavärden. När du associerar en animering med en egenskap uppdaterar animeringen egenskapens värde när den spelas upp och "animera" den. En introduktion till animeringar finns i Översikt över animering. Information om de olika sätten att tillämpa animeringar finns i Översikt över egenskapsanimeringstekniker.
MediaTimelines: A MediaTimeline är en typ av tidslinje som styr uppspelningen av en mediefil.
ParallelTimelines: A ParallelTimeline är en typ av tidslinje som grupperar andra tidslinjer.
Storyboards: A Storyboard är en särskild typ av ParallelTimeline som innehåller information om objekt- och egenskapsmål för tidslinjerna som den innehåller. Mer information om Storyboard objekt finns i Översikt över Storyboards.
Mer information om hur du använder tidslinjer finns i Översikt över animering. En introduktion till tidsfunktionerna i tidslinjer finns i Översikt över tidsbeteenden.
Databindning och animera tidslinjer
De flesta tidslinjeegenskaper kan vara databundna eller animerade. Men på grund av hur tidsschemat fungerar fungerar inte databundna eller animerade tidslinjer som andra databundna eller animerade objekt. För att förstå deras beteende hjälper det att förstå vad det innebär att aktivera en tidslinje.
När en tidslinje tillämpas görs kopior av tidslinjen och dess underordnade tidslinjer. Dessa kopior är låsta (skrivskyddade) och Clock objekt skapas från dem. Det är dessa klockor som utför det faktiska arbetet med att animera målegenskaperna. Om en tidslinje var databunden eller animerad gjordes en ögonblicksbild av dess aktuella värden när klockan skapades. Även om den ursprungliga tidslinjen kan fortsätta att ändras, gör inte klockan det.
För att en tidslinje ska återspegla databindning eller animeringsändringar måste dess klocka återskapas. Klockor återskapas inte automatiskt. Följande är flera sätt att tillämpa tidslinjeändringar:
Om tidslinjen är eller tillhör en Storyboardkan du göra så att den återspeglar ändringar genom att tillämpa dess storyboard på nytt med hjälp av en BeginStoryboard- eller Begin-metod. Detta har sidoeffekten av att även starta om animeringen. I kod kan du använda metoden Seek för att flytta tillbaka storyboarden till dess tidigare position.
Om du har tillämpat en animering direkt på en egenskap med hjälp av BeginAnimation metoden anropar BeginAnimation du metoden igen och skickar den animeringen som har ändrats.
Om du arbetar direkt på klocknivå skapar och tillämpar du en ny uppsättning klockor och använder dem för att ersätta den tidigare uppsättningen genererade klockor.
Ett exempel på en databunden animering finns i Key Spline Animation Sample (Exempel på nyckel-spline-animering ).
Använda en tidslinje som timer
En tidslinjes klocka fortsätter bara när det finns en händelsehanterare som är associerad med den eller (om det gäller ett AnimationClock objekt) som den är associerad med en egenskap. Därför (och andra) rekommenderar vi inte att du använder en Timeline som timer.
Konstruktorer
| Name | Description |
|---|---|
| Timeline() |
Initierar en ny instans av Timeline klassen. |
| Timeline(Nullable<TimeSpan>, Duration, RepeatBehavior) |
Initierar en ny instans av Timeline klassen med angiven BeginTime, Durationoch RepeatBehavior. |
| Timeline(Nullable<TimeSpan>, Duration) |
Initierar en ny instans av Timeline klassen med angivet BeginTime och Duration. |
| Timeline(Nullable<TimeSpan>) |
Initierar en ny instans av Timeline klassen med angiven BeginTime. |
Fält
| Name | Description |
|---|---|
| AccelerationRatioProperty |
Identifierar beroendeegenskapen AccelerationRatio . |
| AutoReverseProperty |
Identifierar beroendeegenskapen AutoReverse . |
| BeginTimeProperty |
Identifierar beroendeegenskapen BeginTime . |
| DecelerationRatioProperty |
Identifierar för beroendeegenskapen DecelerationRatio . |
| DesiredFrameRateProperty |
Identifierar den DesiredFrameRate anslutna egenskapen. |
| DurationProperty |
Identifierar beroendeegenskapen Duration . |
| FillBehaviorProperty |
Identifierar beroendeegenskapen FillBehavior . |
| NameProperty |
Identifierar beroendeegenskapen Name . |
| RepeatBehaviorProperty |
Identifierar beroendeegenskapen RepeatBehavior . |
| SpeedRatioProperty |
Identifierar för beroendeegenskapen SpeedRatio . |
Egenskaper
| Name | Description |
|---|---|
| AccelerationRatio |
Hämtar eller anger ett värde som anger procentandelen av tidslinjens tidsåtgång Duration från noll till dess maximala hastighet. |
| AutoReverse |
Hämtar eller anger ett värde som anger om tidslinjen spelas upp i omvänd ordning när den har slutfört en vidarebefordran iteration. |
| BeginTime |
Hämtar eller anger den tid då detta Timeline ska börja. |
| CanFreeze |
Hämtar ett värde som anger om objektet kan göras ommodifierbart. (Ärvd från Freezable) |
| DecelerationRatio |
Hämtar eller anger ett värde som anger procentandelen av tidslinjens tidsåtgång Duration från den maximala hastigheten till noll. |
| DependencyObjectType |
DependencyObjectType Hämtar som omsluter CLR-typen för den här instansen. (Ärvd från DependencyObject) |
| Dispatcher |
Hämtar det Dispatcher som DispatcherObject är associerat med. (Ärvd från DispatcherObject) |
| Duration |
Hämtar eller anger hur lång tid den här tidslinjen ska spelas upp, utan att räkna upprepningar. |
| FillBehavior |
Hämtar eller anger ett värde som anger hur den Timeline beter sig när den når slutet av den aktiva perioden. |
| HasAnimatedProperties |
Hämtar ett värde som anger om ett eller flera AnimationClock objekt är associerade med något av det här objektets beroendeegenskaper. (Ärvd från Animatable) |
| IsFrozen |
Hämtar ett värde som anger om objektet för närvarande kan ändras. (Ärvd från Freezable) |
| IsSealed |
Hämtar ett värde som anger om den här instansen för närvarande är förseglad (skrivskyddad). (Ärvd från DependencyObject) |
| Name |
Hämtar eller anger namnet på den här Timeline. |
| RepeatBehavior |
Hämtar eller anger det upprepande beteendet för den här tidslinjen. |
| SpeedRatio |
Hämtar eller anger frekvensen, i förhållande till dess överordnade, vid vilken tidpunkt förlopp för detta Timeline. |
Kopplade egenskaper
| Name | Description |
|---|---|
| DesiredFrameRate |
Hämtar eller anger önskad bildfrekvens för den här tidslinjen och dess underordnade tidslinjer. |
Metoder
| Name | Description |
|---|---|
| AllocateClock() | |
| ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Tillämpar en AnimationClock på den angivna DependencyProperty. Om egenskapen redan är animerad används den angivna HandoffBehavior . (Ärvd från Animatable) |
| ApplyAnimationClock(DependencyProperty, AnimationClock) |
Tillämpar en AnimationClock på den angivna DependencyProperty. Om egenskapen redan är animerad används överlämningsbeteendet SnapshotAndReplace . (Ärvd från Animatable) |
| BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) |
Tillämpar en animering på den angivna DependencyProperty. Animeringen startas när nästa bildruta återges. Om den angivna egenskapen redan är animerad används den angivna HandoffBehavior egenskapen. (Ärvd från Animatable) |
| BeginAnimation(DependencyProperty, AnimationTimeline) |
Tillämpar en animering på den angivna DependencyProperty. Animeringen startas när nästa bildruta återges. Om den angivna egenskapen redan är animerad används överlämningsbeteendet SnapshotAndReplace . (Ärvd från Animatable) |
| CheckAccess() |
Avgör om den anropande tråden har åtkomst till den här DispatcherObject. (Ärvd från DispatcherObject) |
| ClearValue(DependencyProperty) |
Rensar det lokala värdet för en egenskap. Egenskapen som ska rensas anges av en DependencyProperty identifierare. (Ärvd från DependencyObject) |
| ClearValue(DependencyPropertyKey) |
Rensar det lokala värdet för en skrivskyddad egenskap. Egenskapen som ska rensas anges av en DependencyPropertyKey. (Ärvd från DependencyObject) |
| Clone() |
Skapar en modifierbar klon av detta Timelineoch gör djupa kopior av objektets värden. |
| CloneCore(Freezable) |
Gör instansen till en klon (djupkopia) av de angivna Freezable med hjälp av grundläggande (icke-animerade) egenskapsvärden. (Ärvd från Freezable) |
| CloneCurrentValue() |
Skapar en modifierbar klon av det här Timeline objektet, vilket gör djupa kopior av objektets aktuella värden. |
| CloneCurrentValueCore(Freezable) |
Gör instansen till en modifierbar klon (djupkopia) av den angivna Freezable med hjälp av aktuella egenskapsvärden. (Ärvd från Freezable) |
| CoerceValue(DependencyProperty) |
Tvingar fram värdet för den angivna beroendeegenskapen. Detta uppnås genom att anropa alla CoerceValueCallback funktioner som anges i egenskapsmetadata för beroendeegenskapen eftersom den finns på anropet DependencyObject. (Ärvd från DependencyObject) |
| CreateClock() |
Skapar en ny, kontrollerbar Clock från den här Timeline. Om detta Timeline har underordnade, skapas ett träd med klockor med detta Timeline som rot. |
| CreateClock(Boolean) |
Skapar en ny Clock från detta Timeline och anger om den nya Clock är kontrollerbar. Om detta Timeline har underordnade, skapas ett träd med klockor med detta Timeline som rot. |
| CreateInstance() |
Initierar en ny instans av Freezable klassen. (Ärvd från Freezable) |
| CreateInstanceCore() |
När den implementeras i en härledd klass skapar du en ny instans av den Freezable härledda klassen. (Ärvd från Freezable) |
| Equals(Object) |
Avgör om en angivet DependencyObject motsvarar den aktuella DependencyObject. (Ärvd från DependencyObject) |
| Freeze() |
Gör det aktuella objektet ommodifierbart och anger dess IsFrozen egenskap till |
| FreezeCore(Boolean) |
Gör detta Timeline ommodifierbart eller avgör om det kan göras ommodifierbart. |
| GetAnimationBaseValue(DependencyProperty) |
Returnerar det icke-animerade värdet för det angivna DependencyProperty. (Ärvd från Animatable) |
| GetAsFrozen() |
Skapar en frusen Freezablekopia av , med hjälp av grundläggande (icke-animerade) egenskapsvärden. Eftersom kopian är låst kopieras alla frysta underobjekt som referens. (Ärvd från Freezable) |
| GetAsFrozenCore(Freezable) |
Gör den här instansen till en klon av det angivna Timeline objektet. |
| GetCurrentValueAsFrozen() |
Skapar en frusen Freezable kopia av med aktuella egenskapsvärden. Eftersom kopian är låst kopieras alla frysta underobjekt som referens. (Ärvd från Freezable) |
| GetCurrentValueAsFrozenCore(Freezable) |
Gör den här instansen till en frusen klon av angiven Timeline. Resursreferenser, databindningar och animeringar kopieras inte, men deras aktuella värden är det. |
| GetDesiredFrameRate(Timeline) |
Hämtar önskad bildfrekvens för den angivna Timeline. |
| GetHashCode() |
Hämtar en hash-kod för den här DependencyObject. (Ärvd från DependencyObject) |
| GetLocalValueEnumerator() |
Skapar en specialiserad uppräknare för att avgöra vilka beroendeegenskaper som har lokalt angivna värden för den här DependencyObject. (Ärvd från DependencyObject) |
| GetNaturalDuration(Clock) |
Returnerar längden på en enskild iteration av den här Timeline. |
| GetNaturalDurationCore(Clock) |
Returnerar längden på en enskild iteration av den här Timeline. Den här metoden tillhandahåller implementeringen för GetNaturalDuration(Clock). |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| GetValue(DependencyProperty) |
Returnerar det aktuella effektiva värdet för en beroendeegenskap för den här instansen av en DependencyObject. (Ärvd från DependencyObject) |
| InvalidateProperty(DependencyProperty) |
Utvärderar det effektiva värdet för den angivna beroendeegenskapen igen. (Ärvd från DependencyObject) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| OnChanged() |
Anropas när det aktuella Freezable objektet ändras. (Ärvd från Freezable) |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) |
Den här medlemmen stöder infrastrukturen för Windows Presentation Foundation (WPF) och är inte avsedd att användas direkt från koden. (Ärvd från Freezable) |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
Ser till att lämpliga kontextpekare upprättas för en DependencyObjectType datamedlem som just har angetts. (Ärvd från Freezable) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Åsidosätter implementeringen DependencyObject av OnPropertyChanged(DependencyPropertyChangedEventArgs) för att även anropa alla Changed hanterare som svar på en ändrad beroendeegenskap av typen Freezable. (Ärvd från Freezable) |
| ReadLocalValue(DependencyProperty) |
Returnerar det lokala värdet för en beroendeegenskap, om den finns. (Ärvd från DependencyObject) |
| ReadPreamble() |
Säkerställer att åtkomsten Freezable görs från en giltig tråd. Arvtagare Freezable till måste anropa den här metoden i början av ett API som läser datamedlemmar som inte är beroendeegenskaper. (Ärvd från Freezable) |
| SetCurrentValue(DependencyProperty, Object) |
Anger värdet för en beroendeegenskap utan att ändra dess värdekälla. (Ärvd från DependencyObject) |
| SetDesiredFrameRate(Timeline, Nullable<Int32>) |
Anger önskad bildfrekvens för den angivna Timeline. |
| SetValue(DependencyProperty, Object) |
Anger det lokala värdet för en beroendeegenskap som anges av dess beroendeegenskapsidentifierare. (Ärvd från DependencyObject) |
| SetValue(DependencyPropertyKey, Object) |
Anger det lokala värdet för en skrivskyddad beroendeegenskap som anges av identifieraren DependencyPropertyKey för beroendeegenskapen. (Ärvd från DependencyObject) |
| ShouldSerializeProperty(DependencyProperty) |
Returnerar ett värde som anger om serialiseringsprocesser ska serialisera värdet för den angivna beroendeegenskapen. (Ärvd från DependencyObject) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
| VerifyAccess() |
Framtvingar att den anropande tråden har åtkomst till den här DispatcherObject. (Ärvd från DispatcherObject) |
| WritePostscript() |
Genererar Changed händelsen för Freezable och anropar dess OnChanged() metod. Klasser som härleds från Freezable bör anropa den här metoden i slutet av alla API:er som ändrar klassmedlemmar som inte lagras som beroendeegenskaper. (Ärvd från Freezable) |
| WritePreamble() |
Verifierar att Freezable inte är låst och att den nås från en giltig trådkontext. Freezable ärver bör anropa den här metoden i början av ett API som skriver till datamedlemmar som inte är beroendeegenskaper. (Ärvd från Freezable) |
Händelser
| Name | Description |
|---|---|
| Changed |
Inträffar när eller Freezable ett objekt som det innehåller ändras. (Ärvd från Freezable) |
| Completed |
Inträffar när tidslinjen har spelats upp helt: den kommer inte längre att gå in i den aktiva perioden. |
| CurrentGlobalSpeedInvalidated |
Inträffar när den hastighet med vilken tiden förlopp för tidslinjens klocka ändras. |
| CurrentStateInvalidated |
Inträffar när CurrentState egenskapen för tidslinjens Clock uppdateras. |
| CurrentTimeInvalidated |
Inträffar när CurrentTime egenskapen för tidslinjens Clock uppdateras. |
| RemoveRequested |
Inträffar när klockan som skapats för den här tidslinjen eller någon av dess överordnade tidslinjer tas bort. |