Udostępnij za pośrednictwem


Timeline Klasa

Definicja

Definiuje segment czasu.

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
Dziedziczenie
Pochodne
Atrybuty

Uwagi

Oś czasu reprezentuje segment czasu. Udostępnia właściwości, które umożliwiają określenie długości tego segmentu, kiedy powinien zostać uruchomiony, ile razy będzie powtarzać się, jak szybko postępuje w tym segmencie i nie tylko.

Klasy dziedziczone z klasy osi czasu zapewniają dodatkowe funkcje, takie jak animacja i odtwarzanie multimediów. Poniżej przedstawiono przykłady niektórych z różnych typów dostępnych wyspecjalizowanych osi czasu.

  • Animacje: typ AnimationTimeline osi czasu, który generuje wartości wyjściowe. Po skojarzeniu animacji z właściwością animacja aktualizuje wartość właściwości, ponieważ jest odtwarzana, a tym samym "animowanie". Aby zapoznać się z wprowadzeniem do animacji, zobacz Omówienie animacji. Aby uzyskać informacje o różnych sposobach stosowania animacji, zobacz Omówienie technik animacji właściwości.

  • MediaTimelines: typ MediaTimeline osi czasu, który kontroluje odtwarzanie pliku multimedialnego.

  • ParallelTimelines: typ ParallelTimeline osi czasu, który grupuje inne osie czasu.

  • Scenorysy: A Storyboard to specjalny typ ParallelTimeline , który udostępnia informacje o obiektach i właściwościach przeznaczonych dla osi czasu, które zawiera. Aby uzyskać więcej informacji na temat Storyboard obiektów, zobacz Omówienie scenorysów.

Aby uzyskać więcej informacji na temat korzystania z osi czasu, zobacz Omówienie animacji. Aby zapoznać się z wprowadzeniem do funkcji chronometrażu osi czasu, zobacz Omówienie zachowania chronometrażu.

Powiązania danych i animowanie osi czasu

Większość właściwości osi czasu może być powiązana lub animowana; jednak ze względu na sposób działania systemu chronometrażu, powiązane lub animowane osie czasu nie zachowują się jak inne powiązane lub animowane obiekty danych. Aby zrozumieć ich zachowanie, pomaga zrozumieć, co to znaczy aktywować oś czasu.

Po zastosowaniu osi czasu kopie są tworzone z osi czasu i osi czasu podrzędnego. Te kopie są zamrożone (tylko do odczytu), a Clock obiekty są tworzone na ich podstawie. To te zegary, które wykonują rzeczywistą pracę animowania właściwości docelowych. Jeśli oś czasu była powiązana lub animowana, utworzono migawkę jego bieżących wartości podczas tworzenia zegara. Mimo że oryginalna oś czasu może nadal ulec zmianie, zegar nie.

Aby oś czasu odzwierciedlała zmiany powiązania danych lub animacji, jego zegar musi zostać wygenerowany ponownie. Zegary nie są automatycznie generowane ponownie. Poniżej przedstawiono kilka sposobów stosowania zmian osi czasu:

  • Jeśli oś czasu jest lub należy do elementu Storyboard, możesz wprowadzić zmiany, stosując ponownie scenorys przy użyciu BeginStoryboard metody lub Begin . Ma to również efekt uboczny ponownego uruchomienia animacji. W kodzie możesz użyć Seek metody , aby przejść do scenorysu z powrotem do poprzedniej pozycji.

  • Jeśli animacja została zastosowana bezpośrednio do właściwości przy użyciu BeginAnimation metody, wywołaj BeginAnimation metodę ponownie i przekaż animację, która została zmodyfikowana.

  • Jeśli pracujesz bezpośrednio na poziomie zegara, utwórz i zastosuj nowy zestaw zegarów i użyj ich do zastąpienia poprzedniego zestawu wygenerowanych zegarów.

Przykład animacji powiązanej z danymi można znaleźć w przykładzie Key Spline Animation Sample .

Używanie osi czasu jako czasomierza

Zegar osi czasu będzie postępować tylko wtedy, gdy istnieje procedura obsługi zdarzeń skojarzona z nią lub (w przypadku AnimationClock obiektu) jest skojarzona z właściwością. Z tego powodu (i inne) nie zaleca się używania jako Timeline czasomierza.

Konstruktory

Timeline()

Inicjuje nowe wystąpienie klasy Timeline.

Timeline(Nullable<TimeSpan>)

Inicjuje Timeline nowe wystąpienie klasy o określonej wartości BeginTime.

Timeline(Nullable<TimeSpan>, Duration)

Inicjuje Timeline nowe wystąpienie klasy o określonej wartości BeginTime i Duration.

Timeline(Nullable<TimeSpan>, Duration, RepeatBehavior)

Inicjuje Timeline nowe wystąpienie klasy o określonej wartości BeginTime, Durationi RepeatBehavior.

Pola

AccelerationRatioProperty

Identyfikuje AccelerationRatio właściwość zależności.

AutoReverseProperty

Identyfikuje AutoReverse właściwość zależności.

BeginTimeProperty

Identyfikuje BeginTime właściwość zależności.

DecelerationRatioProperty

Określa właściwość DecelerationRatio zależności.

DesiredFrameRateProperty

Identyfikuje dołączoną DesiredFrameRate właściwość.

DurationProperty

Identyfikuje Duration właściwość zależności.

FillBehaviorProperty

Identyfikuje FillBehavior właściwość zależności.

NameProperty

Identyfikuje Name właściwość zależności.

RepeatBehaviorProperty

Identyfikuje RepeatBehavior właściwość zależności.

SpeedRatioProperty

Określa właściwość SpeedRatio zależności.

Właściwości

AccelerationRatio

Pobiera lub ustawia wartość określającą procent czasu spędzonego na osi czasu Duration przyspieszając przejście czasu od zera do maksymalnej stawki.

AutoReverse

Pobiera lub ustawia wartość wskazującą, czy oś czasu jest odtwarzana odwrotnie po zakończeniu iteracji do przodu.

BeginTime

Pobiera lub ustawia czas, w którym to Timeline powinno się rozpocząć.

CanFreeze

Pobiera wartość wskazującą, czy obiekt może być niemodyfikowalny.

(Odziedziczone po Freezable)
DecelerationRatio

Pobiera lub ustawia wartość określającą wartość procentową Duration czasu spędzonego na deceleracji upływu czasu od maksymalnej stawki do zera.

DependencyObjectType

DependencyObjectType Pobiera opakowujący typ clR tego wystąpienia.

(Odziedziczone po DependencyObject)
Dispatcher

Dispatcher Pobiera tę DispatcherObject wartość skojarzona z.

(Odziedziczone po DispatcherObject)
Duration

Pobiera lub ustawia czas, dla którego ta oś czasu jest odtwarzana, nie licząc powtórzeń.

FillBehavior

Pobiera lub ustawia wartość określającą, jak Timeline zachowuje się po osiągnięciu końca aktywnego okresu.

HasAnimatedProperties

Pobiera wartość wskazującą, czy co najmniej jeden AnimationClock obiekt jest skojarzony z dowolnymi właściwościami zależności tego obiektu.

(Odziedziczone po Animatable)
IsFrozen

Pobiera wartość wskazującą, czy obiekt jest obecnie modyfikowalny.

(Odziedziczone po Freezable)
IsSealed

Pobiera wartość wskazującą, czy to wystąpienie jest obecnie zapieczętowane (tylko do odczytu).

(Odziedziczone po DependencyObject)
Name

Pobiera lub ustawia nazwę tego Timelineelementu .

RepeatBehavior

Pobiera lub ustawia powtarzające się zachowanie tej osi czasu.

SpeedRatio

Pobiera lub ustawia stawkę względem jej elementu nadrzędnego, w którym czasie postępuje dla tego elementu Timeline.

Właściwości dołączone

DesiredFrameRate

Pobiera lub ustawia żądaną szybkość ramki dla tej osi czasu i jej osi czasu podrzędnego.

Metody

AllocateClock()

Tworzy element Clock dla tego Timelinepliku .

ApplyAnimationClock(DependencyProperty, AnimationClock)

Stosuje element AnimationClock do określonego DependencyPropertyelementu . Jeśli właściwość jest już animowana, SnapshotAndReplace używane jest zachowanie przekazywania.

(Odziedziczone po Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Stosuje element AnimationClock do określonego DependencyPropertyelementu . Jeśli właściwość jest już animowana, zostanie użyta określona HandoffBehavior wartość .

(Odziedziczone po Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Stosuje animację do określonego DependencyPropertyelementu . Animacja jest uruchamiana po renderowaniu następnej ramki. Jeśli określona właściwość jest już animowana, SnapshotAndReplace zostanie użyte zachowanie przekazywania.

(Odziedziczone po Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Stosuje animację do określonego DependencyPropertyelementu . Animacja jest uruchamiana po renderowaniu następnej ramki. Jeśli określona właściwość jest już animowana, zostanie użyta określona HandoffBehavior właściwość.

(Odziedziczone po Animatable)
CheckAccess()

Określa, czy wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)
ClearValue(DependencyProperty)

Czyści wartość lokalną właściwości. Właściwość do wyczyszczenia jest określana przez DependencyProperty identyfikator.

(Odziedziczone po DependencyObject)
ClearValue(DependencyPropertyKey)

Czyści wartość lokalną właściwości tylko do odczytu. Właściwość do wyczyszczenia jest określana przez DependencyPropertyKeyelement .

(Odziedziczone po DependencyObject)
Clone()

Tworzy modyfikowalny klon tego Timelineobiektu , tworząc głębokie kopie wartości tego obiektu.

CloneCore(Freezable)

Sprawia, że wystąpienie jest klonem (kopią głęboką) określonej Freezable wartości właściwości przy użyciu wartości właściwości base (nie animowanych).

(Odziedziczone po Freezable)
CloneCurrentValue()

Tworzy modyfikowalny klon tego Timeline obiektu, tworząc głębokie kopie bieżących wartości tego obiektu.

CloneCurrentValueCore(Freezable)

Sprawia, że wystąpienie jest modyfikowalny klon (kopia głęboka) określonego Freezable przy użyciu bieżących wartości właściwości.

(Odziedziczone po Freezable)
CoerceValue(DependencyProperty)

Coerce wartość określonej właściwości zależności. Jest to realizowane przez wywołanie dowolnej CoerceValueCallback funkcji określonej w metadanych właściwości dla właściwości zależności, ponieważ istnieje w wywołaniu DependencyObject.

(Odziedziczone po DependencyObject)
CreateClock()

Tworzy nowy element, który można Clock kontrolować na podstawie tego Timelineelementu . Jeśli ma to Timeline elementy podrzędne, drzewo zegarów jest tworzone z tym Timeline jako katalog główny.

CreateClock(Boolean)

Tworzy nowy Clock element z tego Timeline elementu i określa, czy nowy Clock element można kontrolować. Jeśli ma to Timeline elementy podrzędne, drzewo zegarów jest tworzone z tym Timeline jako katalog główny.

CreateInstance()

Inicjuje nowe wystąpienie klasy Freezable.

(Odziedziczone po Freezable)
CreateInstanceCore()

Po zaimplementowaniu w klasie pochodnej tworzy nowe wystąpienie klasy pochodnej Freezable .

(Odziedziczone po Freezable)
Equals(Object)

Określa, czy podany DependencyObject element jest odpowiednikiem bieżącego DependencyObjectelementu .

(Odziedziczone po DependencyObject)
Freeze()

Sprawia, że bieżący obiekt jest niezmodyfikowalny i ustawia jego IsFrozen właściwość na true.

(Odziedziczone po Freezable)
FreezeCore(Boolean)

Sprawia, że jest to Timeline niezmodyfikowalne lub określa, czy można go niemodyfikować.

GetAnimationBaseValue(DependencyProperty)

Zwraca wartość nie animowaną określonego DependencyPropertyelementu .

(Odziedziczone po Animatable)
GetAsFrozen()

Tworzy zamrożoną kopię obiektu Freezableprzy użyciu wartości właściwości base (nie animowanych). Ponieważ kopia jest zamrożona, wszystkie zamrożone obiekty podrzędne są kopiowane przez odwołanie.

(Odziedziczone po Freezable)
GetAsFrozenCore(Freezable)

Sprawia, że to wystąpienie jest klonem określonego Timeline obiektu.

GetCurrentValueAsFrozen()

Tworzy zamrożoną kopię przy użyciu bieżących Freezable wartości właściwości. Ponieważ kopia jest zamrożona, wszystkie zamrożone obiekty podrzędne są kopiowane przez odwołanie.

(Odziedziczone po Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Sprawia, że to wystąpienie jest zamrożonym klonem określonego Timelineobiektu . Odwołania do zasobów, powiązania danych i animacje nie są kopiowane, ale ich bieżące wartości są.

GetDesiredFrameRate(Timeline)

Pobiera żądaną szybkość ramki dla określonego Timelineelementu .

GetHashCode()

Pobiera kod skrótu dla tego pliku DependencyObject.

(Odziedziczone po DependencyObject)
GetLocalValueEnumerator()

Tworzy wyspecjalizowany moduł wyliczający do określania, które właściwości zależności mają lokalnie ustawione wartości w tym DependencyObjectelemecie .

(Odziedziczone po DependencyObject)
GetNaturalDuration(Clock)

Zwraca długość pojedynczej iteracji tego Timelineelementu .

GetNaturalDurationCore(Clock)

Zwraca długość pojedynczej iteracji tego Timelineelementu . Ta metoda zapewnia implementację programu GetNaturalDuration(Clock).

GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
GetValue(DependencyProperty)

Zwraca bieżącą obowiązującą wartość właściwości zależności dla tego wystąpienia obiektu DependencyObject.

(Odziedziczone po DependencyObject)
InvalidateProperty(DependencyProperty)

Ponownie oblicza efektywną wartość dla określonej właściwości zależności.

(Odziedziczone po DependencyObject)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OnChanged()

Wywoływana po zmodyfikowaniu bieżącego Freezable obiektu.

(Odziedziczone po Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Zapewnia, że odpowiednie wskaźniki kontekstu są ustanawiane dla DependencyObjectType elementu członkowskiego danych, który został właśnie ustawiony.

(Odziedziczone po Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Ten element członkowski obsługuje infrastrukturę programu Windows Presentation Foundation (WPF) i nie jest przeznaczony do użycia bezpośrednio z kodu.

(Odziedziczone po Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Zastępuje implementację DependencyObjectOnPropertyChanged(DependencyPropertyChangedEventArgs) metody w celu wywołania wszystkich Changed procedur obsługi w odpowiedzi na zmieniającą się właściwość zależności typu Freezable.

(Odziedziczone po Freezable)
ReadLocalValue(DependencyProperty)

Zwraca wartość lokalną właściwości zależności, jeśli istnieje.

(Odziedziczone po DependencyObject)
ReadPreamble()

Gwarantuje, że dostęp do obiektu Freezable jest uzyskiwany z prawidłowego wątku. Dziedzicze muszą Freezable wywoływać tę metodę na początku dowolnego interfejsu API, który odczytuje elementy członkowskie danych, które nie są właściwościami zależności.

(Odziedziczone po Freezable)
SetCurrentValue(DependencyProperty, Object)

Ustawia wartość właściwości zależności bez zmiany źródła wartości.

(Odziedziczone po DependencyObject)
SetDesiredFrameRate(Timeline, Nullable<Int32>)

Ustawia żądaną szybkość ramki dla określonego Timelineelementu .

SetValue(DependencyProperty, Object)

Ustawia wartość lokalną właściwości zależności określonej przez jego identyfikator właściwości zależności.

(Odziedziczone po DependencyObject)
SetValue(DependencyPropertyKey, Object)

Ustawia wartość lokalną właściwości zależności tylko do odczytu określona przez DependencyPropertyKey identyfikator właściwości zależności.

(Odziedziczone po DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Zwraca wartość wskazującą, czy procesy serializacji powinny serializować wartość podanej właściwości zależności.

(Odziedziczone po DependencyObject)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
VerifyAccess()

Wymusza, że wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)
WritePostscript()

Changed Zgłasza zdarzenie dla Freezable metody i wywołuje jej OnChanged() metodę. Klasy pochodzące z Freezable programu powinny wywoływać tę metodę na końcu dowolnego interfejsu API, który modyfikuje składowe klasy, które nie są przechowywane jako właściwości zależności.

(Odziedziczone po Freezable)
WritePreamble()

Sprawdza, czy Freezable element nie jest zamrożony i czy jest uzyskiwany dostęp do niego z prawidłowego kontekstu wątkowego. Freezable dziedzicze powinny wywoływać tę metodę na początku dowolnego interfejsu API, który zapisuje do elementów członkowskich danych, które nie są właściwościami zależności.

(Odziedziczone po Freezable)

Zdarzenia

Changed

Występuje, gdy Freezable obiekt lub, który zawiera, jest modyfikowany.

(Odziedziczone po Freezable)
Completed

Występuje, gdy ta oś czasu całkowicie zakończyła odtwarzanie: nie będzie już wprowadzać aktywnego okresu.

CurrentGlobalSpeedInvalidated

Występuje, gdy szybkość, w której czas postępuje po zmianie zegara osi czasu.

CurrentStateInvalidated

Występuje, gdy CurrentState właściwość osi czasu Clock jest aktualizowana.

CurrentTimeInvalidated

Występuje, gdy CurrentTime właściwość osi czasu Clock jest aktualizowana.

RemoveRequested

Występuje po usunięciu zegara utworzonego dla tej osi czasu lub jednej z osi czasu nadrzędnego.

Dotyczy

Zobacz też