Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
319 lines (301 sloc) 23.7 KB
<Type Name="AnimationTimeline" FullName="System.Windows.Media.Animation.AnimationTimeline">
<TypeSignature Language="C#" Value="public abstract class AnimationTimeline : System.Windows.Media.Animation.Timeline" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi abstract beforefieldinit AnimationTimeline extends System.Windows.Media.Animation.Timeline" />
<TypeSignature Language="DocId" Value="T:System.Windows.Media.Animation.AnimationTimeline" />
<TypeSignature Language="VB.NET" Value="Public MustInherit Class AnimationTimeline&#xA;Inherits Timeline" />
<TypeSignature Language="C++ CLI" Value="public ref class AnimationTimeline abstract : System::Windows::Media::Animation::Timeline" />
<TypeSignature Language="F#" Value="type AnimationTimeline = class&#xA; inherit Timeline" />
<AssemblyInfo>
<AssemblyName>PresentationCore</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Base>
<BaseTypeName>System.Windows.Media.Animation.Timeline</BaseTypeName>
</Base>
<Interfaces />
<Docs>
<summary>Defines a segment of time over which output values are produced. These values are used to animate a target property.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
An <xref:System.Windows.Media.Animation.AnimationTimeline> is a type of <xref:System.Windows.Media.Animation.Timeline> object that generates output values based on its timing progress. All animation types inherit from <xref:System.Windows.Media.Animation.AnimationTimeline>.
**Freezable Features:** Because it inherits from the <xref:System.Windows.Freezable> class, the <xref:System.Windows.Media.Animation.AnimationTimeline> class provides several special features: <xref:System.Windows.Media.Animation.AnimationTimeline> objects can be declared as , shared among multiple objects, made read-only to improve performance, cloned, and made thread-safe. For more information about the different features provided by <xref:System.Windows.Freezable> objects, see the [Freezable Objects Overview](~/docs/framework/wpf/advanced/freezable-objects-overview.md).
]]></format>
</remarks>
<block subset="none" type="overrides">
<para>To create a custom animation, override or implement the following members:
- <see cref="M:System.Windows.Freezable.CreateInstanceCore" /> - If your new class is concrete, you must override <see cref="M:System.Windows.Freezable.CreateInstanceCore" /> to return a new instance of your class.
- <see cref="M:System.Windows.Media.Animation.AnimationTimeline.GetCurrentValue(System.Object,System.Object,System.Windows.Media.Animation.AnimationClock)" /> - Override this method to return the current value of your animation. It takes three parameters: a default origin value, a default destination value, and an <see cref="T:System.Windows.Media.Animation.AnimationClock" />. Use the <see cref="T:System.Windows.Media.Animation.AnimationClock" /> to obtain the current time or progress for the animation. You can choose whether to use the default origin and destination values.
- <see cref="P:System.Windows.Media.Animation.AnimationTimeline.IsDestinationDefault" /> - Override this property to indicate whether your animation uses the default destination value specified by the <see cref="M:System.Windows.Media.Animation.AnimationTimeline.GetCurrentValue(System.Object,System.Object,System.Windows.Media.Animation.AnimationClock)" /> method.
- <see cref="P:System.Windows.Media.Animation.AnimationTimeline.TargetPropertyType" /> - Override this property to indicate the <see cref="T:System.Type" /> of output your animation produces.
If the class does not use dependency properties to store its data or it requires extra initialization after creation, you might need to override additional methods; see the [Freezable Objects Overview](~/docs/framework/wpf/advanced/freezable-objects-overview.md) for more information.
For more information about creating custom animations, see the [Custom Animations Overview](~/docs/framework/wpf/graphics-multimedia/custom-animations-overview.md).</para>
</block>
<related type="ExternalDocumentation" href="https://go.microsoft.com/fwlink/?LinkID=159981">Custom Animation Sample</related>
</Docs>
<Members>
<Member MemberName=".ctor">
<MemberSignature Language="C#" Value="protected AnimationTimeline ();" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Media.Animation.AnimationTimeline.#ctor" />
<MemberSignature Language="VB.NET" Value="Protected Sub New ()" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; AnimationTimeline();" />
<MemberType>Constructor</MemberType>
<AssemblyInfo>
<AssemblyName>PresentationCore</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute FrameworkAlternate="netframework-4.0">
<AttributeName>System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")</AttributeName>
</Attribute>
</Attributes>
<Parameters />
<Docs>
<summary>Initializes a new instance of the <see cref="T:System.Windows.Media.Animation.AnimationTimeline" /> class.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="AllocateClock">
<MemberSignature Language="C#" Value="protected internal override System.Windows.Media.Animation.Clock AllocateClock ();" />
<MemberSignature Language="ILAsm" Value=".method familyorassemblyhidebysig virtual instance class System.Windows.Media.Animation.Clock AllocateClock() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Media.Animation.AnimationTimeline.AllocateClock" />
<MemberSignature Language="VB.NET" Value="Protected Friend Overrides Function AllocateClock () As Clock" />
<MemberSignature Language="C++ CLI" Value="protected public:&#xA; override System::Windows::Media::Animation::Clock ^ AllocateClock();" />
<MemberSignature Language="F#" Value="override this.AllocateClock : unit -&gt; System.Windows.Media.Animation.Clock" Usage="animationTimeline.AllocateClock " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>PresentationCore</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Windows.Media.Animation.Clock</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Creates a <see cref="T:System.Windows.Media.Animation.Clock" /> for this <see cref="T:System.Windows.Media.Animation.AnimationTimeline" />.</summary>
<returns>A clock for this <see cref="T:System.Windows.Media.Animation.AnimationTimeline" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method is called by the <xref:System.Windows.Media.Animation.Timeline.CreateClock%2A> method and should not be called directly by your code.
]]></format>
</remarks>
<block subset="none" type="overrides">
<para>Implementers of <see cref="T:System.Windows.Media.Animation.AnimationTimeline" /> should override this method when it has a corresponding custom clock that should be used with the class. The overridden method should create and return a new instance of class that inherits from <see cref="T:System.Windows.Media.Animation.Clock" />.</para>
</block>
</Docs>
</Member>
<Member MemberName="Clone">
<MemberSignature Language="C#" Value="public System.Windows.Media.Animation.AnimationTimeline Clone ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Windows.Media.Animation.AnimationTimeline Clone() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Media.Animation.AnimationTimeline.Clone" />
<MemberSignature Language="VB.NET" Value="Public Function Clone () As AnimationTimeline" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; System::Windows::Media::Animation::AnimationTimeline ^ Clone();" />
<MemberSignature Language="F#" Value="override this.Clone : unit -&gt; System.Windows.Media.Animation.AnimationTimeline" Usage="animationTimeline.Clone " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>PresentationCore</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Windows.Media.Animation.AnimationTimeline</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Creates a modifiable clone of this <see cref="T:System.Windows.Media.Animation.AnimationTimeline" />, making deep copies of this object's values. When copying dependency properties, this method copies resource references and data bindings (but they might no longer resolve) but not animations or their current values.</summary>
<returns>A modifiable clone of the current object. The cloned object's <see cref="P:System.Windows.Freezable.IsFrozen" /> property will be <see langword="false" /> even if the source's <see cref="P:System.Windows.Freezable.IsFrozen" /> property was <see langword="true." /></returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method is used to produce modifiable copies of frozen <xref:System.Windows.Freezable> objects (or any <xref:System.Windows.Freezable> object). For convenience, this method shadows the inherited version.
For more information, see <xref:System.Windows.Freezable.Clone%2A?displayProperty=nameWithType>.
]]></format>
</remarks>
</Docs>
</Member>
<Member MemberName="CreateClock">
<MemberSignature Language="C#" Value="public System.Windows.Media.Animation.AnimationClock CreateClock ();" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Windows.Media.Animation.AnimationClock CreateClock() cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Media.Animation.AnimationTimeline.CreateClock" />
<MemberSignature Language="VB.NET" Value="Public Function CreateClock () As AnimationClock" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; System::Windows::Media::Animation::AnimationClock ^ CreateClock();" />
<MemberSignature Language="F#" Value="override this.CreateClock : unit -&gt; System.Windows.Media.Animation.AnimationClock" Usage="animationTimeline.CreateClock " />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>PresentationCore</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Windows.Media.Animation.AnimationClock</ReturnType>
</ReturnValue>
<Parameters />
<Docs>
<summary>Creates a new <see cref="T:System.Windows.Media.Animation.AnimationClock" /> from this <see cref="T:System.Windows.Media.Animation.AnimationTimeline" />.</summary>
<returns>A new clock, created from this <see cref="T:System.Windows.Media.Animation.AnimationTimeline" />.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method shadows the inherited <xref:System.Windows.Media.Animation.Timeline.CreateClock%2A?displayProperty=nameWithType> method with a type-safe implementation.
]]></format>
</remarks>
<altmember cref="M:System.Windows.Media.MediaTimeline.CreateClock" />
</Docs>
</Member>
<Member MemberName="GetCurrentValue">
<MemberSignature Language="C#" Value="public virtual object GetCurrentValue (object defaultOriginValue, object defaultDestinationValue, System.Windows.Media.Animation.AnimationClock animationClock);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance object GetCurrentValue(object defaultOriginValue, object defaultDestinationValue, class System.Windows.Media.Animation.AnimationClock animationClock) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Media.Animation.AnimationTimeline.GetCurrentValue(System.Object,System.Object,System.Windows.Media.Animation.AnimationClock)" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual System::Object ^ GetCurrentValue(System::Object ^ defaultOriginValue, System::Object ^ defaultDestinationValue, System::Windows::Media::Animation::AnimationClock ^ animationClock);" />
<MemberSignature Language="F#" Value="abstract member GetCurrentValue : obj * obj * System.Windows.Media.Animation.AnimationClock -&gt; obj&#xA;override this.GetCurrentValue : obj * obj * System.Windows.Media.Animation.AnimationClock -&gt; obj" Usage="animationTimeline.GetCurrentValue (defaultOriginValue, defaultDestinationValue, animationClock)" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>PresentationCore</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Object</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="defaultOriginValue" Type="System.Object" />
<Parameter Name="defaultDestinationValue" Type="System.Object" />
<Parameter Name="animationClock" Type="System.Windows.Media.Animation.AnimationClock" />
</Parameters>
<Docs>
<param name="defaultOriginValue">The origin value provided to the animation if the animation does not have its own start value. If this animation is the first in a composition chain it will be the base value of the property being animated; otherwise it will be the value returned by the previous animation in the chain.</param>
<param name="defaultDestinationValue">The destination value provided to the animation if the animation does not have its own destination value.</param>
<param name="animationClock">The <see cref="T:System.Windows.Media.Animation.AnimationClock" /> which can generate the <see cref="P:System.Windows.Media.Animation.Clock.CurrentTime" /> or <see cref="P:System.Windows.Media.Animation.Clock.CurrentProgress" /> value to be used by the animation to generate its output value.</param>
<summary>Gets the current value of the animation.</summary>
<returns>The value this animation believes should be the current value for the property.</returns>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="GetNaturalDurationCore">
<MemberSignature Language="C#" Value="protected override System.Windows.Duration GetNaturalDurationCore (System.Windows.Media.Animation.Clock clock);" />
<MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance valuetype System.Windows.Duration GetNaturalDurationCore(class System.Windows.Media.Animation.Clock clock) cil managed" />
<MemberSignature Language="DocId" Value="M:System.Windows.Media.Animation.AnimationTimeline.GetNaturalDurationCore(System.Windows.Media.Animation.Clock)" />
<MemberSignature Language="C++ CLI" Value="protected:&#xA; override System::Windows::Duration GetNaturalDurationCore(System::Windows::Media::Animation::Clock ^ clock);" />
<MemberSignature Language="F#" Value="override this.GetNaturalDurationCore : System.Windows.Media.Animation.Clock -&gt; System.Windows.Duration" Usage="animationTimeline.GetNaturalDurationCore clock" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>PresentationCore</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Windows.Duration</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="clock" Type="System.Windows.Media.Animation.Clock" />
</Parameters>
<Docs>
<param name="clock">The clock that was created for this <see cref="T:System.Windows.Media.Animation.AnimationTimeline" />.</param>
<summary>Returns the length of a single iteration of this <see cref="T:System.Windows.Media.Animation.AnimationTimeline" />.</summary>
<returns>The animation's natural duration. This method always returns a <see cref="T:System.Windows.Duration" /> of 1 second.</returns>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
This method provides the implementation for <xref:System.Windows.Media.Animation.Timeline.GetNaturalDuration%2A> and should not be called directly from your code.
]]></format>
</remarks>
<block subset="none" type="overrides">
<para>This method should be implemented by classes that need to provide a custom natural <see cref="T:System.Windows.Duration" /> when the <see cref="P:System.Windows.Media.Animation.Timeline.Duration" /> property is set to <see cref="P:System.Windows.Duration.Automatic" />. If the natural duration cannot be determined, this method should return <see cref="P:System.Windows.Duration.Automatic" />.</para>
</block>
</Docs>
</Member>
<Member MemberName="IsAdditiveProperty">
<MemberSignature Language="C#" Value="public static readonly System.Windows.DependencyProperty IsAdditiveProperty;" />
<MemberSignature Language="ILAsm" Value=".field public static initonly class System.Windows.DependencyProperty IsAdditiveProperty" />
<MemberSignature Language="DocId" Value="F:System.Windows.Media.Animation.AnimationTimeline.IsAdditiveProperty" />
<MemberSignature Language="VB.NET" Value="Public Shared ReadOnly IsAdditiveProperty As DependencyProperty " />
<MemberSignature Language="C++ CLI" Value="public: static initonly System::Windows::DependencyProperty ^ IsAdditiveProperty;" />
<MemberSignature Language="F#" Value=" staticval mutable IsAdditiveProperty : System.Windows.DependencyProperty" Usage="System.Windows.Media.Animation.AnimationTimeline.IsAdditiveProperty" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyName>PresentationCore</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Windows.DependencyProperty</ReturnType>
</ReturnValue>
<Docs>
<summary>Identifies the IsAdditive dependency property.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="IsCumulativeProperty">
<MemberSignature Language="C#" Value="public static readonly System.Windows.DependencyProperty IsCumulativeProperty;" />
<MemberSignature Language="ILAsm" Value=".field public static initonly class System.Windows.DependencyProperty IsCumulativeProperty" />
<MemberSignature Language="DocId" Value="F:System.Windows.Media.Animation.AnimationTimeline.IsCumulativeProperty" />
<MemberSignature Language="VB.NET" Value="Public Shared ReadOnly IsCumulativeProperty As DependencyProperty " />
<MemberSignature Language="C++ CLI" Value="public: static initonly System::Windows::DependencyProperty ^ IsCumulativeProperty;" />
<MemberSignature Language="F#" Value=" staticval mutable IsCumulativeProperty : System.Windows.DependencyProperty" Usage="System.Windows.Media.Animation.AnimationTimeline.IsCumulativeProperty" />
<MemberType>Field</MemberType>
<AssemblyInfo>
<AssemblyName>PresentationCore</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Windows.DependencyProperty</ReturnType>
</ReturnValue>
<Docs>
<summary>Identifies the IsCumulative dependency property.</summary>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="IsDestinationDefault">
<MemberSignature Language="C#" Value="public virtual bool IsDestinationDefault { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool IsDestinationDefault" />
<MemberSignature Language="DocId" Value="P:System.Windows.Media.Animation.AnimationTimeline.IsDestinationDefault" />
<MemberSignature Language="VB.NET" Value="Public Overridable ReadOnly Property IsDestinationDefault As Boolean" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; virtual property bool IsDestinationDefault { bool get(); };" />
<MemberSignature Language="F#" Value="member this.IsDestinationDefault : bool" Usage="System.Windows.Media.Animation.AnimationTimeline.IsDestinationDefault" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>PresentationCore</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Gets a value that indicates whether this animation uses the *defaultDestinationValue* parameter of the <see cref="M:System.Windows.Media.Animation.AnimationTimeline.GetCurrentValue(System.Object,System.Object,System.Windows.Media.Animation.AnimationClock)" /> method as its destination value.</summary>
<value>
<see langword="true" /> if the *defaultDestinationValue* parameter of the <see cref="M:System.Windows.Media.Animation.AnimationTimeline.GetCurrentValue(System.Object,System.Object,System.Windows.Media.Animation.AnimationClock)" /> method is the value of this animation when reaches the end of its simple duration (its clock has a <see cref="P:System.Windows.Media.Animation.Clock.CurrentProgress" /> of 1); otherwise, <see langword="false" />. The default implementation always returns <see langword="false" />.</value>
<remarks>To be added.</remarks>
<altmember cref="M:System.Windows.Media.Animation.AnimationTimeline.GetCurrentValue(System.Object,System.Object,System.Windows.Media.Animation.AnimationClock)" />
</Docs>
</Member>
<Member MemberName="TargetPropertyType">
<MemberSignature Language="C#" Value="public abstract Type TargetPropertyType { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Type TargetPropertyType" />
<MemberSignature Language="DocId" Value="P:System.Windows.Media.Animation.AnimationTimeline.TargetPropertyType" />
<MemberSignature Language="VB.NET" Value="Public MustOverride ReadOnly Property TargetPropertyType As Type" />
<MemberSignature Language="C++ CLI" Value="public:&#xA; abstract property Type ^ TargetPropertyType { Type ^ get(); };" />
<MemberSignature Language="F#" Value="member this.TargetPropertyType : Type" Usage="System.Windows.Media.Animation.AnimationTimeline.TargetPropertyType" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>PresentationCore</AssemblyName>
<AssemblyVersion>3.0.0.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<ReturnValue>
<ReturnType>System.Type</ReturnType>
</ReturnValue>
<Docs>
<summary>When overridden in a derived class, gets the <see cref="T:System.Type" /> of property that can be animated.</summary>
<value>The type of property that can be animated by this animation.</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
</Members>
</Type>
You can’t perform that action at this time.