Timeline Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 ma się rozpocząć, ile razy będzie powtarzać, 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 różnych dostępnych typów 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 podczas jej odtwarzania, 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: A ParallelTimeline to typ osi czasu grupujący 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 Storyboards Overview (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ązanie 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 obiekty powiązane lub animowane. Aby zrozumieć ich zachowanie, warto zrozumieć, co to znaczy aktywować oś czasu.
Po zastosowaniu osi czasu kopie są tworzone z osi czasu i jej podrzędnych osi czasu. Kopie te są zamrożone (tylko do odczytu) i Clock tworzone są na ich podstawie obiekty. To te zegary 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, jego zegar nie jest.
Aby oś czasu odzwierciedlała zmiany powiązania danych lub animacji, jego zegar musi być ponownie wygenerowany. Zegary nie są odnawiane automatycznie. Poniżej przedstawiono kilka sposobów wprowadzania zmian osi czasu.
Jeśli oś czasu jest lub należy do Storyboard, możesz wprowadzić zmiany, stosując ponownie scenorys przy użyciu BeginStoryboard lub metody Begin. Ma to również efekt uboczny ponownego uruchomienia animacji. W kodzie możesz użyć metody Seek, aby wrócić do poprzedniej pozycji scenorysu.
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ż ją do zmodyfikowanej animacji.
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 Animacja linii kluczy .
Używanie osi czasu jako czasomierza
Zegar osi czasu będzie postępować tylko wtedy, gdy istnieje program obsługi zdarzeń skojarzony z nim lub (w przypadku AnimationClock obiektu) jest skojarzony z właściwością. Z tego powodu (i inne) nie zaleca się używania Timeline elementu jako czasomierza.
Konstruktory
| Nazwa | Opis |
|---|---|
| Timeline() |
Inicjuje nowe wystąpienie klasy Timeline. |
| Timeline(Nullable<TimeSpan>, Duration, RepeatBehavior) |
Inicjuje nowe wystąpienie Timeline klasy z określonymi BeginTimeelementami , Durationi RepeatBehavior. |
| Timeline(Nullable<TimeSpan>, Duration) |
Inicjuje nowe wystąpienie Timeline klasy z określonymi BeginTime parametrami i Duration. |
| Timeline(Nullable<TimeSpan>) |
Inicjuje nowe wystąpienie klasy Timeline z określonym BeginTime. |
Pola
| Nazwa | Opis |
|---|---|
| AccelerationRatioProperty |
AccelerationRatio Identyfikuje właściwość zależności. |
| AutoReverseProperty |
AutoReverse Identyfikuje właściwość zależności. |
| BeginTimeProperty |
BeginTime Identyfikuje właściwość zależności. |
| DecelerationRatioProperty |
Identyfikuje właściwość DecelerationRatio zależności. |
| DesiredFrameRateProperty |
Identyfikuje dołączoną DesiredFrameRate właściwość. |
| DurationProperty |
Duration Identyfikuje właściwość zależności. |
| FillBehaviorProperty |
FillBehavior Identyfikuje właściwość zależności. |
| NameProperty |
Name Identyfikuje właściwość zależności. |
| RepeatBehaviorProperty |
RepeatBehavior Identyfikuje właściwość zależności. |
| SpeedRatioProperty |
Identyfikuje właściwość SpeedRatio zależności. |
Właściwości
| Nazwa | Opis |
|---|---|
| AccelerationRatio |
Pobiera lub ustawia wartość określającą wartość procentową czasu spędzonego na osi czasu Duration , przyspieszając czas 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ć niezmodyfikowalny. (Odziedziczone po Freezable) |
| DecelerationRatio |
Pobiera lub ustawia wartość określającą wartość procentową czasu spędzonego Duration w deceleracji czasu z maksymalnej szybkości do zera. |
| DependencyObjectType |
Pobiera klasę DependencyObjectType , która opakowuje typ CLR tego wystąpienia. (Odziedziczone po DependencyObject) |
| Dispatcher |
Pobiera elementDispatcher, z który DispatcherObject jest skojarzony. (Odziedziczone po DispatcherObject) |
| Duration |
Pobiera lub ustawia czas, dla którego ta oś czasu jest odtwarzana, a nie zlicza powtórzeń. |
| FillBehavior |
Pobiera lub ustawia wartość, która określa, jak Timeline zachowuje się po osiągnięciu końca jego 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 Timelineelementu . |
Właściwości dołączone
| Nazwa | Opis |
|---|---|
| DesiredFrameRate |
Pobiera lub ustawia żądaną częstotliwość klatek dla tej osi czasu i jej podrzędnych osi czasu. |
Metody
| Nazwa | Opis |
|---|---|
| AllocateClock() | |
| 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) |
| 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) |
| 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) |
| 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 używane jest zachowanie przekazywania. (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) |
Tworzy wystąpienie klona (kopii głębokiej) określonego Freezable 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 modyfikowalnym klonem (kopia głęboka) określonego Freezable przy użyciu bieżących wartości właściwości. (Odziedziczone po Freezable) |
| CoerceValue(DependencyProperty) |
Przekształca 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, zostanie utworzone drzewo zegarów z tym Timeline jako element główny. |
| CreateClock(Boolean) |
Tworzy nowy Clock element z tego Timeline elementu i określa, czy nowy Clock jest możliwy do kontrolowania. Jeśli ma to Timeline elementy podrzędne, zostanie utworzone drzewo zegarów z tym Timeline jako element 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 |
| FreezeCore(Boolean) |
Sprawia, że jest to Timeline niezmodyfikowalne lub określa, czy można go cofnąć. |
| GetAnimationBaseValue(DependencyProperty) |
Zwraca nie animowaną wartość 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) |
Powoduje, że to wystąpienie jest zamrożonym klonem określonego Timelineelementu . 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ść klatek na klatkę określonego Timelineelementu . |
| GetHashCode() |
Pobiera kod skrótu dla tego elementu 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 na tym DependencyObjectobiekcie . (Odziedziczone po DependencyObject) |
| GetNaturalDuration(Clock) |
Zwraca długość pojedynczej iteracji tego elementu Timeline. |
| GetNaturalDurationCore(Clock) |
Zwraca długość pojedynczej iteracji tego elementu Timeline. Ta metoda zapewnia implementację programu GetNaturalDuration(Clock). |
| GetType() |
Pobiera Type bieżącego wystąpienia. (Odziedziczone po Object) |
| GetValue(DependencyProperty) |
Zwraca bieżącą obowiązującą wartość właściwości zależności dla tego wystąpienia klasy DependencyObject. (Odziedziczone po DependencyObject) |
| InvalidateProperty(DependencyProperty) |
Ponownie oblicza obowiązującą wartość dla określonej właściwości zależności. (Odziedziczone po DependencyObject) |
| MemberwiseClone() |
Tworzy płytkią kopię bieżącego Object. (Odziedziczone po Object) |
| OnChanged() |
Wywoływana po zmodyfikowaniu bieżącego Freezable obiektu. (Odziedziczone po Freezable) |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) |
Ten element członkowski obsługuje infrastrukturę Windows Presentation Foundation (WPF) i nie ma być używany bezpośrednio z kodu. (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) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Zastępuje implementację DependencyObject metody OnPropertyChanged(DependencyPropertyChangedEventArgs) , aby również wywoływać wszelkie Changed procedury obsługi w odpowiedzi na zmieniającą 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. Dziedziczy Freezable muszą 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 zmieniania źródła wartości. (Odziedziczone po DependencyObject) |
| SetDesiredFrameRate(Timeline, Nullable<Int32>) |
Ustawia żądaną szybkość klatek na klatkę określonego Timelineelementu . |
| SetValue(DependencyProperty, Object) |
Ustawia wartość lokalną właściwości zależności określonej przez jej 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ślonej 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 Wywołuje zdarzenie dla Freezable metody i wywołuje jej OnChanged() metodę. Klasy pochodzące z Freezable klasy 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 z prawidłowego kontekstu wątkowego. Freezable dziedziczy powinny wywoływać tę metodę na początku dowolnego interfejsu API, który zapisuje dane członkom, które nie są właściwościami zależności. (Odziedziczone po Freezable) |
Zdarzenia
| Nazwa | Opis |
|---|---|
| Changed |
Występuje, gdy Freezable obiekt lub, który zawiera, jest modyfikowany. (Odziedziczone po Freezable) |
| Completed |
Występuje po całkowitym zakończeniu odtwarzania tej osi czasu: nie będzie już wprowadzać aktywnego okresu. |
| CurrentGlobalSpeedInvalidated |
Występuje, gdy częstotliwość, w której następuje postęp zegara osi czasu zmienia się. |
| CurrentStateInvalidated |
Występuje po CurrentState zaktualizowaniu właściwości osi czasu Clock . |
| CurrentTimeInvalidated |
Występuje po CurrentTime zaktualizowaniu właściwości osi czasu Clock . |
| RemoveRequested |
Występuje po usunięciu zegara utworzonego dla tej osi czasu lub jednej z jej nadrzędnych osi czasu. |