EasingFunctionBase Klass

Definition

Tillhandahåller basklassen för alla lättnadsfunktioner.

public ref class EasingFunctionBase abstract : System::Windows::Freezable, System::Windows::Media::Animation::IEasingFunction
public abstract class EasingFunctionBase : System.Windows.Freezable, System.Windows.Media.Animation.IEasingFunction
type EasingFunctionBase = class
    inherit Freezable
    interface IEasingFunction
Public MustInherit Class EasingFunctionBase
Inherits Freezable
Implements IEasingFunction
Arv
Härledda
Implementeringar

Exempel

I följande exempel visas hur du skapar en enkel anpassad lättningsfunktion. Du kan lägga till din egen matematiska logik för hur lättnadsfunktionen fungerar genom att åsidosätta metoden EaseInCore.

namespace CustomEasingFunction
{
    public class CustomSeventhPowerEasingFunction : EasingFunctionBase
    {
        public CustomSeventhPowerEasingFunction()
            : base()
        {
        }

        // Specify your own logic for the easing function by overriding
        // the EaseInCore method. Note that this logic applies to the "EaseIn"
        // mode of interpolation. 
        protected override double EaseInCore(double normalizedTime)
        {
            // applies the formula of time to the seventh power.
            return Math.Pow(normalizedTime, 7);
        }

        // Typical implementation of CreateInstanceCore
        protected override Freezable CreateInstanceCore()
        {

            return new CustomSeventhPowerEasingFunction();
        }
    }
}
Namespace CustomEasingFunction
    Public Class CustomSeventhPowerEasingFunction
        Inherits EasingFunctionBase
        Public Sub New()
            MyBase.New()
        End Sub

        ' Specify your own logic for the easing function by overriding
        ' the EaseInCore method. Note that this logic applies to the "EaseIn"
        ' mode of interpolation. 
        Protected Overrides Function EaseInCore(ByVal normalizedTime As Double) As Double
            ' applies the formula of time to the seventh power.
            Return Math.Pow(normalizedTime, 7)
        End Function

        ' Typical implementation of CreateInstanceCore
        Protected Overrides Function CreateInstanceCore() As Freezable

            Return New CustomSeventhPowerEasingFunction()
        End Function

    End Class
End Namespace
<Window x:Class="CustomEasingFunction.Window1"
        xmlns:CustomEase="clr-namespace:CustomEasingFunction"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window1" Height="500" Width="300">
    <StackPanel>
        <TextBlock Margin="10" TextWrapping="Wrap">Click on the rectangle to start the animation</TextBlock>
        <StackPanel x:Name="LayoutRoot" Background="White">

            <Rectangle Name="myRectangle" Width="200" Height="30" Fill="Blue">
                <Rectangle.Triggers>
                    <EventTrigger RoutedEvent="Rectangle.MouseDown">
                        <BeginStoryboard>
                            <Storyboard>
                                <DoubleAnimation From="30" To="300" Duration="00:00:3" 
                                 Storyboard.TargetName="myRectangle" 
                                 Storyboard.TargetProperty="Height">
                                    <DoubleAnimation.EasingFunction>

                                        <!-- You get the EasingMode property for free on your custom
                                             easing function.-->
                                        <CustomEase:CustomSeventhPowerEasingFunction EasingMode="EaseIn"/>
                                    </DoubleAnimation.EasingFunction>
                                </DoubleAnimation>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger>
                </Rectangle.Triggers>

            </Rectangle>

        </StackPanel>
    </StackPanel>

</Window>

Kommentarer

Du kan skapa egna anpassade lättnadsfunktioner genom att ärva från den här klassen.

Konstruktorer

Name Description
EasingFunctionBase()

Initierar en ny instans av EasingFunctionBase klassen.

Fält

Name Description
EasingModeProperty

Identifierar beroendeegenskapen EasingMode .

Egenskaper

Name Description
CanFreeze

Hämtar ett värde som anger om objektet kan göras ommodifierbart.

(Ärvd från Freezable)
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)
EasingMode

Hämtar eller anger ett värde som anger hur animeringen interpoleras.

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)

Metoder

Name Description
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 Freezableoch gör djupa kopior av objektets värden. När du kopierar objektets beroendeegenskaper kopierar den här metoden uttryck (som kanske inte längre matchar) men inte animeringar eller deras aktuella värden.

(Ärvd från Freezable)
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 (djup kopia) av med hjälp av Freezable dess aktuella värden.

(Ärvd från Freezable)
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)
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)
Ease(Double)

Transformerar normaliserad tid för att styra takten i en animering.

EaseInCore(Double)

Tillhandahåller logikdelen av den lättnadsfunktion som du kan åsidosätta för att skapa EaseIn läget för den anpassade lättnadsfunktionen.

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 true.

(Ärvd från Freezable)
FreezeCore(Boolean)

Gör objektet Freezable ommodifierbart eller testar om det kan göras ommodifierbart.

(Ärvd från Freezable)
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 instansen till en frusen klon av den angivna Freezable med hjälp av grundläggande (icke-animerade) egenskapsvärden.

(Ärvd från Freezable)
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 aktuella instansen till en frusen klon av den angivna Freezable. Om objektet har animerade beroendeegenskaper kopieras deras aktuella animerade värden.

(Ärvd från Freezable)
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)
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)
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)

Gäller för

Se även