EasingFunctionBase Klas

Definitie

Biedt de basisklasse voor alle easing-functies.

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
Overname
Afgeleid
Implementeringen

Voorbeelden

In het volgende voorbeeld ziet u hoe u een eenvoudige aangepaste easing-functie maakt. U kunt uw eigen wiskundige logica toevoegen voor de manier waarop de versoepelingsfunctie zich gedraagt door de methode EaseInCore te overschrijven.

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>

Opmerkingen

U kunt uw eigen aangepaste easing-functies maken door deze klasse over te nemen.

Constructors

Name Description
EasingFunctionBase()

Initialiseert een nieuw exemplaar van de EasingFunctionBase klasse.

Velden

Name Description
EasingModeProperty

Identificeert de EasingMode afhankelijkheidseigenschap.

Eigenschappen

Name Description
CanFreeze

Hiermee wordt een waarde opgehaald die aangeeft of het object onmodieerbaar kan worden gemaakt.

(Overgenomen van Freezable)
DependencyObjectType

Hiermee haalt u het DependencyObjectType CLR-type van dit exemplaar op.

(Overgenomen van DependencyObject)
Dispatcher

Hiermee wordt de Dispatcher aan dit DispatcherObject gekoppelde bestand.

(Overgenomen van DispatcherObject)
EasingMode

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft hoe de animatie interpoleert.

IsFrozen

Hiermee wordt een waarde opgehaald die aangeeft of het object momenteel kan worden gewijzigd.

(Overgenomen van Freezable)
IsSealed

Hiermee wordt een waarde opgehaald die aangeeft of dit exemplaar momenteel is verzegeld (alleen-lezen).

(Overgenomen van DependencyObject)

Methoden

Name Description
CheckAccess()

Bepaalt of de aanroepende thread toegang heeft tot dit DispatcherObject.

(Overgenomen van DispatcherObject)
ClearValue(DependencyProperty)

Hiermee wist u de lokale waarde van een eigenschap. De eigenschap die moet worden gewist, wordt opgegeven door een DependencyProperty id.

(Overgenomen van DependencyObject)
ClearValue(DependencyPropertyKey)

Hiermee wist u de lokale waarde van een alleen-lezen eigenschap. De eigenschap die moet worden gewist, wordt opgegeven door een DependencyPropertyKey.

(Overgenomen van DependencyObject)
Clone()

Hiermee maakt u een wijzigbare kloon van de Freezable, waardoor diepe kopieën van de waarden van het object worden gemaakt. Bij het kopiëren van de eigenschappen van de afhankelijkheid van het object kopieert deze methode expressies (die mogelijk niet meer worden omgezet) maar niet animaties of hun huidige waarden.

(Overgenomen van Freezable)
CloneCore(Freezable)

Hiermee wordt het exemplaar een kloon (diepe kopie) van de opgegeven Freezable met behulp van basiseigenschapswaarden (niet-geanimeerde waarden).

(Overgenomen van Freezable)
CloneCurrentValue()

Hiermee maakt u een wijzigbare kloon (diepe kopie) van het gebruik van de Freezable huidige waarden.

(Overgenomen van Freezable)
CloneCurrentValueCore(Freezable)

Maakt het exemplaar een wijzigbare kloon (diepe kopie) van de opgegeven Freezable met behulp van de huidige eigenschapswaarden.

(Overgenomen van Freezable)
CoerceValue(DependencyProperty)

Hiermee wordt de waarde van de opgegeven afhankelijkheidseigenschap gecodeerd. Dit wordt bereikt door een CoerceValueCallback functie aan te roepen die is opgegeven in eigenschapsmetagegevens voor de afhankelijkheidseigenschap, zoals deze bestaat bij het aanroepen DependencyObject.

(Overgenomen van DependencyObject)
CreateInstance()

Initialiseert een nieuw exemplaar van de Freezable klasse.

(Overgenomen van Freezable)
CreateInstanceCore()

Wanneer deze wordt geïmplementeerd in een afgeleide klasse, maakt u een nieuw exemplaar van de Freezable afgeleide klasse.

(Overgenomen van Freezable)
Ease(Double)

Hiermee transformeert u de genormaliseerde tijd om het tempo van een animatie te bepalen.

EaseInCore(Double)

Biedt het logische gedeelte van de easing-functie die u kunt overschrijven om de EaseIn modus van de aangepaste easing-functie te produceren.

Equals(Object)

Bepaalt of een opgegeven DependencyObject gelijk is aan de huidige DependencyObject.

(Overgenomen van DependencyObject)
Freeze()

Maakt het huidige object onmodifieerbaar en stelt de IsFrozen eigenschap ervan in op true.

(Overgenomen van Freezable)
FreezeCore(Boolean)

Maakt het Freezable object onmodifieerbaar of test of het kan worden onmodifieerbaar.

(Overgenomen van Freezable)
GetAsFrozen()

Hiermee maakt u een geblokkeerde kopie van de Freezableeigenschapswaarden met basiswaarden (niet-geanimeerd). Omdat de kopie is geblokkeerd, worden alle geblokkeerde subobjecten gekopieerd met verwijzing.

(Overgenomen van Freezable)
GetAsFrozenCore(Freezable)

Hiermee wordt het exemplaar een geblokkeerde kloon van de opgegeven Freezable met behulp van basiseigenschapswaarden (niet-geanimeerd).

(Overgenomen van Freezable)
GetCurrentValueAsFrozen()

Hiermee maakt u een geblokkeerde kopie van het Freezable gebruik van de huidige eigenschapswaarden. Omdat de kopie is geblokkeerd, worden alle geblokkeerde subobjecten gekopieerd met verwijzing.

(Overgenomen van Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Hiermee wordt het huidige exemplaar een geblokkeerde kloon van de opgegeven Freezable. Als het object eigenschappen van afhankelijkheid met animatie heeft, worden de huidige geanimeerde waarden gekopieerd.

(Overgenomen van Freezable)
GetHashCode()

Hiermee haalt u een hashcode op.DependencyObject

(Overgenomen van DependencyObject)
GetLocalValueEnumerator()

Hiermee maakt u een gespecialiseerde enumerator om te bepalen welke afhankelijkheidseigenschappen lokaal waarden hebben ingesteld.DependencyObject

(Overgenomen van DependencyObject)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
GetValue(DependencyProperty)

Retourneert de huidige effectieve waarde van een afhankelijkheidseigenschap op dit exemplaar van een DependencyObject.

(Overgenomen van DependencyObject)
InvalidateProperty(DependencyProperty)

Evalueert de effectieve waarde voor de opgegeven afhankelijkheidseigenschap opnieuw.

(Overgenomen van DependencyObject)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
OnChanged()

Aangeroepen wanneer het huidige Freezable object wordt gewijzigd.

(Overgenomen van Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Dit lid ondersteunt de Windows Presentation Foundation -infrastructuur (WPF) en is niet bedoeld om rechtstreeks vanuit uw code te worden gebruikt.

(Overgenomen van Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Zorgt ervoor dat de juiste contextpointers tot stand worden gebracht voor een DependencyObjectType gegevenslid dat zojuist is ingesteld.

(Overgenomen van Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Overschrijft de DependencyObject implementatie van het aanroepen OnPropertyChanged(DependencyPropertyChangedEventArgs) van Changed handlers als reactie op een veranderende afhankelijkheidseigenschap van het typeFreezable.

(Overgenomen van Freezable)
ReadLocalValue(DependencyProperty)

Retourneert de lokale waarde van een afhankelijkheidseigenschap, als deze bestaat.

(Overgenomen van DependencyObject)
ReadPreamble()

Zorgt ervoor dat de Freezable thread wordt geopend vanuit een geldige thread. Overnames van Freezable deze methode moeten aan het begin van een API worden aangeroepen die gegevensleden leest die geen afhankelijkheidseigenschappen zijn.

(Overgenomen van Freezable)
SetCurrentValue(DependencyProperty, Object)

Hiermee stelt u de waarde van een afhankelijkheidseigenschap in zonder de waardebron te wijzigen.

(Overgenomen van DependencyObject)
SetValue(DependencyProperty, Object)

Hiermee stelt u de lokale waarde van een afhankelijkheidseigenschap in, die is opgegeven door de id van de afhankelijkheidseigenschap.

(Overgenomen van DependencyObject)
SetValue(DependencyPropertyKey, Object)

Hiermee stelt u de lokale waarde van een alleen-lezen afhankelijkheidseigenschap in, die is opgegeven door de DependencyPropertyKey id van de afhankelijkheidseigenschap.

(Overgenomen van DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Retourneert een waarde die aangeeft of serialisatieprocessen de waarde voor de opgegeven afhankelijkheidseigenschap moeten serialiseren.

(Overgenomen van DependencyObject)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)
VerifyAccess()

Hiermee wordt afgedwongen dat de aanroepende thread toegang heeft tot dit DispatcherObject.

(Overgenomen van DispatcherObject)
WritePostscript()

Hiermee wordt de gebeurtenis voor de Changed gebeurtenis gegenereerd en wordt Freezable de OnChanged() methode aangeroepen. Klassen die zijn afgeleid van Freezable , moeten deze methode aan het einde van een API aanroepen die klasseleden wijzigt die niet zijn opgeslagen als afhankelijkheidseigenschappen.

(Overgenomen van Freezable)
WritePreamble()

Controleert of het Freezable niet is geblokkeerd en of deze wordt geopend vanuit een geldige threadingcontext. Freezable overnemers moeten deze methode aan het begin van een API aanroepen die schrijft naar gegevensleden die geen afhankelijkheidseigenschappen zijn.

(Overgenomen van Freezable)

gebeurtenis

Name Description
Changed

Treedt op wanneer het Freezable object dat het bevat, wordt gewijzigd.

(Overgenomen van Freezable)

Van toepassing op

Zie ook