ObjectAnimationBase Klasa

Definicja

Abstrakcyjna klasa, która po zaimplementowaniu animuje Object wartość.

public abstract class ObjectAnimationBase : System.Windows.Media.Animation.AnimationTimeline
Dziedziczenie
Pochodne

Przykłady

W poniższym przykładzie kodu pokazano, jak używać klasy pochodnej ObjectAnimationUsingKeyFrames w języku Extensible Application Markup Language (XAML).

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" >
    <Page.Triggers>
      <EventTrigger RoutedEvent="Page.Loaded">
        <BeginStoryboard>
          <Storyboard>

            <!-- ObjectAnimationUsingKeyFrames is used to animate properties that take
                 an object as a value. This animation lasts for 4 seconds using 3 KeyFrames which
                 swap different brush objects at regular intervals, making the background of the Page
                 change. -->
            <ObjectAnimationUsingKeyFrames
              Storyboard.TargetProperty="Background"
              Duration="0:0:4" RepeatBehavior="Forever">
            <ObjectAnimationUsingKeyFrames.KeyFrames>

              <!-- Note: Only discrete interpolation (DiscreteObjectKeyFrame) is available for 
              use with ObjectAnimationUsingKeyFrames which merely swaps objects according to
              a specified timeline. Other types of interpolation are too problematic to apply
              to objects.  -->
              
              <!-- Using a DiscreteObjectKeyFrame, the Page Background suddenly changes 
                   to a LinearGradientBrush after the first second of the animation. -->
              <DiscreteObjectKeyFrame KeyTime="0:0:1">
                <DiscreteObjectKeyFrame.Value>
                  <LinearGradientBrush>
                    <LinearGradientBrush.GradientStops>
                      <GradientStop Color="Yellow" Offset="0.0" />
                      <GradientStop Color="Orange" Offset="0.5" />
                      <GradientStop Color="Red" Offset="1.0" />
                    </LinearGradientBrush.GradientStops>
                  </LinearGradientBrush>
                </DiscreteObjectKeyFrame.Value>
              </DiscreteObjectKeyFrame>
                  
              <!-- Using a DiscreteObjectKeyFrame, the Page Background suddenly changes 
                   to a RadialGradientBrush after the second second of the animation. -->
              <DiscreteObjectKeyFrame KeyTime="0:0:2">
                <DiscreteObjectKeyFrame.Value>
                  <RadialGradientBrush GradientOrigin="0.75,0.25">
                    <RadialGradientBrush.GradientStops>
                      <GradientStop Color="White" Offset="0.0" />
                      <GradientStop Color="MediumBlue" Offset="0.5" />
                      <GradientStop Color="Black" Offset="1.0" />
                    </RadialGradientBrush.GradientStops>
                  </RadialGradientBrush>
                </DiscreteObjectKeyFrame.Value>
              </DiscreteObjectKeyFrame>

              <!-- Using a DiscreteObjectKeyFrame, the Page Background suddenly 
                   changes to a DrawingBrush (creates a checkerboard pattern) after the 
                   third second of the animation. -->
              <DiscreteObjectKeyFrame KeyTime="0:0:3">
                <DiscreteObjectKeyFrame.Value>
                  <DrawingBrush Viewport="0,0,0.25,0.25" TileMode="Tile">
                    <DrawingBrush.Drawing>
                      <DrawingGroup>
                        <DrawingGroup.Children>
                          <GeometryDrawing Brush="White">
                            <GeometryDrawing.Geometry>
                              <RectangleGeometry Rect="0,0,1,1" />
                            </GeometryDrawing.Geometry>
                          </GeometryDrawing>
                          <GeometryDrawing Brush="Black"
                           Geometry="M 0,0 L0,0.5 0.5,0.5 0.5,1 1,1 1,0.5 0.5,0.5 0.5,0" />
                        </DrawingGroup.Children>
                      </DrawingGroup>
                    </DrawingBrush.Drawing>
                  </DrawingBrush>
                </DiscreteObjectKeyFrame.Value>
              </DiscreteObjectKeyFrame>
              
            </ObjectAnimationUsingKeyFrames.KeyFrames>
          </ObjectAnimationUsingKeyFrames>
            
        </Storyboard>
      </BeginStoryboard>
    </EventTrigger>
  </Page.Triggers>
</Page>

Uwagi dotyczące implementowania

Aby uzyskać informacje na temat rozszerzania klas animacji, zobacz Omówienie animacji niestandardowych .

Konstruktory

ObjectAnimationBase()

Inicjuje nowe wystąpienie klasy ObjectAnimationBase.

Właściwości

AccelerationRatio

Pobiera lub ustawia wartość określającą wartość procentową Duration czasu poświęcanego na przyspieszenie upływu czasu od zera do maksymalnej stopy.

(Odziedziczone po Timeline)
AutoReverse

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

(Odziedziczone po Timeline)
BeginTime

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

(Odziedziczone po Timeline)
CanFreeze

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

(Odziedziczone po Freezable)
DecelerationRatio

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

(Odziedziczone po Timeline)
DependencyObjectType

Pobiera klasę DependencyObjectType , która opakowuje typ CLR tego wystąpienia.

(Odziedziczone po DependencyObject)
Dispatcher

Pobiera element, z Dispatcher który DispatcherObject jest skojarzony.

(Odziedziczone po DispatcherObject)
Duration

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

(Odziedziczone po Timeline)
FillBehavior

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

(Odziedziczone po Timeline)
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)
IsDestinationDefault

Pobiera wartość wskazującą, czy ta animacja używa parametru GetCurrentValue(Object, Object, AnimationClock)defaultDestinationValue metody jako wartości docelowej.

(Odziedziczone po AnimationTimeline)
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 .

(Odziedziczone po Timeline)
RepeatBehavior

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

(Odziedziczone po Timeline)
SpeedRatio

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

(Odziedziczone po Timeline)
TargetPropertyType

Pobiera typ wartości generowanej przez tę animację.

Metody

AllocateClock()

Tworzy element Clock dla tego AnimationTimelinepliku .

(Odziedziczone po AnimationTimeline)
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 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)
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 element DependencyPropertyKey.

(Odziedziczone po DependencyObject)
Clone()

Tworzy modyfikowalny klon tego ObjectAnimationBaseobiektu , tworząc głębokie kopie wartości tego obiektu. Podczas kopiowania właściwości zależności ta metoda kopiuje odwołania do zasobów i powiązania danych (ale mogą nie być już rozpoznawane), ale nie animacje ani ich bieżące wartości.

CloneCore(Freezable)

Sprawia, że wystąpienie jest klonem (kopia głęboka) określonego Freezable obiektu przy użyciu wartości właściwości base (nieimowane).

(Odziedziczone po Freezable)
CloneCurrentValue()

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

(Odziedziczone po Timeline)
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 AnimationClock element na podstawie tego elementu AnimationTimeline.

(Odziedziczone po AnimationTimeline)
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, drzewo zegarów jest tworzone z tym Timeline jako element główny.

(Odziedziczone po Timeline)
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 niemodyfikowalny i ustawia jego IsFrozen właściwość na true.

(Odziedziczone po Freezable)
FreezeCore(Boolean)

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

(Odziedziczone po Timeline)
GetAnimationBaseValue(DependencyProperty)

Zwraca nieimętowaną wartość określonego DependencyPropertyelementu .

(Odziedziczone po Animatable)
GetAsFrozen()

Tworzy zamrożoną kopię Freezableobiektu przy użyciu podstawowych (nieimowanych) 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)
GetAsFrozenCore(Freezable)

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

(Odziedziczone po Timeline)
GetCurrentValue(Object, Object, AnimationClock)

Pobiera bieżącą wartość animacji.

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 Timelineobiektu . Odwołania do zasobów, powiązania danych i animacje nie są kopiowane, ale ich bieżące wartości są.

(Odziedziczone po Timeline)
GetCurrentValueCore(Object, Object, AnimationClock)

Oblicza wartość reprezentującą bieżącą wartość właściwości, która jest animowana zgodnie z animacją hosta.

GetHashCode()

Pobiera kod skrótu dla tego DependencyObjectpliku .

(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 dla tego DependencyObjectelementu .

(Odziedziczone po DependencyObject)
GetNaturalDuration(Clock)

Zwraca długość pojedynczej iteracji tego Timelineelementu .

(Odziedziczone po Timeline)
GetNaturalDurationCore(Clock)

Zwraca długość pojedynczej iteracji tego AnimationTimelineelementu .

(Odziedziczone po AnimationTimeline)
GetType()

Type Pobiera wartość 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 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, gdy bieżący Freezable obiekt jest modyfikowany.

(Odziedziczone po Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

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

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

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

(Odziedziczone po Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Zastępuje implementację DependencyObject elementu OnPropertyChanged(DependencyPropertyChangedEventArgs) , aby również wywoływać wszelkie Changed procedury 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()

Zapewnia dostęp do obiektu Freezable z prawidłowego wątku. Dziedziczenie Freezable elementu musi 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 jej źródła wartości.

(Odziedziczone po DependencyObject)
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ść dla 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 klasy Freezable i wywołuje jego 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 element Freezable nie jest zamrożony i czy jest on uzyskiwany z prawidłowego kontekstu wątkowego. Freezable dziedziczenie powinno 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

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.

(Odziedziczone po Timeline)
CurrentGlobalSpeedInvalidated

Występuje, gdy częstotliwość, w której następuje postęp zegara osi czasu zmienia się.

(Odziedziczone po Timeline)
CurrentStateInvalidated

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

(Odziedziczone po Timeline)
CurrentTimeInvalidated

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

(Odziedziczone po Timeline)
RemoveRequested

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

(Odziedziczone po Timeline)

Dotyczy

Produkt Wersje
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Zobacz też