Sdílet prostřednictvím


EasingFunctionBase Třída

Definice

Poskytuje základní třídu pro všechny funkce uvolňování.

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
Dědičnost
Odvozené
Implementuje

Příklady

Následující příklad ukazuje, jak vytvořit jednoduchou vlastní funkci uvolňování. Přepsáním metody můžete přidat vlastní matematickou logiku EaseInCore pro chování funkce uvolňování.

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>

Poznámky

Můžete vytvořit vlastní funkce pro uvolňování tak, že zdědíte z této třídy.

Konstruktory

EasingFunctionBase()

Inicializuje novou instanci EasingFunctionBase třídy .

Pole

EasingModeProperty

Identifikuje EasingMode vlastnost závislosti.

Vlastnosti

CanFreeze

Získá hodnotu, která označuje, zda objekt lze změnit.

(Zděděno od Freezable)
DependencyObjectType

Získá, DependencyObjectType který zabalí typ CLR této instance.

(Zděděno od DependencyObject)
Dispatcher

Získá to DispatcherDispatcherObject je přidružena k.

(Zděděno od DispatcherObject)
EasingMode

Získá nebo nastaví hodnotu, která určuje, jak animace interpoluje.

IsFrozen

Získá hodnotu, která označuje, zda je objekt aktuálně upravitelný.

(Zděděno od Freezable)
IsSealed

Získá hodnotu, která označuje, zda je tato instance právě zapečetěna (jen pro čtení).

(Zděděno od DependencyObject)

Metody

CheckAccess()

Určuje, zda volající vlákno má přístup k tomuto DispatcherObject.

(Zděděno od DispatcherObject)
ClearValue(DependencyProperty)

Vymaže místní hodnotu vlastnosti. Vlastnost, která má být vymazána, je určena identifikátorem DependencyProperty .

(Zděděno od DependencyObject)
ClearValue(DependencyPropertyKey)

Vymaže místní hodnotu vlastnosti jen pro čtení. Vlastnost, která se má vymazat, je určena parametrem DependencyPropertyKey.

(Zděděno od DependencyObject)
Clone()

Vytvoří upravitelný klon objektu Freezablea vytvoří hluboké kopie hodnot objektu. Při kopírování vlastností závislostí objektu tato metoda kopíruje výrazy (které již nemusí být vyřešeny), ale ne animace nebo jejich aktuální hodnoty.

(Zděděno od Freezable)
CloneCore(Freezable)

Vytvoří instanci klon (hloubkovou kopii) zadaného Freezable pomocí základních (ne animovaných) hodnot vlastností.

(Zděděno od Freezable)
CloneCurrentValue()

Vytvoří upravitelný klon (hloubkovou kopii) objektu Freezable pomocí jeho aktuálních hodnot.

(Zděděno od Freezable)
CloneCurrentValueCore(Freezable)

Vytvoří instanci upravitelný klon (hloubkovou kopii) zadaného Freezable pomocí aktuálních hodnot vlastností.

(Zděděno od Freezable)
CoerceValue(DependencyProperty)

Převede hodnotu zadané vlastnosti závislosti. Toho se dosáhne vyvoláním jakékoli CoerceValueCallback funkce zadané v metadatech vlastnosti závislosti, protože existuje ve volajícím DependencyObjectobjektu .

(Zděděno od DependencyObject)
CreateInstance()

Inicializuje novou instanci Freezable třídy .

(Zděděno od Freezable)
CreateInstanceCore()

Při implementaci v odvozené třídě vytvoří novou instanci odvozené Freezable třídy.

(Zděděno od Freezable)
Ease(Double)

Transformuje normalizovaný čas a řídí tempo animace.

EaseInCore(Double)

Poskytuje logickou část funkce easing, kterou můžete přepsat a vytvořit EaseIn režim vlastní funkce uvolňování.

Equals(Object)

Určuje, zda zadaný DependencyObject je ekvivalentní k aktuálnímu DependencyObject.

(Zděděno od DependencyObject)
Freeze()

Nastaví aktuální objekt jako neupravitelný a nastaví jeho IsFrozen vlastnost na true.

(Zděděno od Freezable)
FreezeCore(Boolean)

Nastaví objekt jako Freezable neupravitelný nebo testuje, jestli ho nelze změnit.

(Zděděno od Freezable)
GetAsFrozen()

Vytvoří zamrzlou kopii objektu Freezables použitím základních (ne animovaných) hodnot vlastností. Vzhledem k tomu, že kopie je zamrzlá, jsou všechny ukotvené dílčí objekty zkopírovány odkazem.

(Zděděno od Freezable)
GetAsFrozenCore(Freezable)

Vytvoří instanci zamrznutý klon zadaného Freezable pomocí základních (ne animovaných) hodnot vlastností.

(Zděděno od Freezable)
GetCurrentValueAsFrozen()

Vytvoří zamrzlou kopii objektu Freezable s použitím aktuálních hodnot vlastností. Vzhledem k tomu, že kopie je zamrzlá, jsou všechny ukotvené dílčí objekty zkopírovány odkazem.

(Zděděno od Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Vytvoří aktuální instanci zablokovaného klonu zadaného Freezableobjektu . Pokud má objekt animované vlastnosti závislostí, zkopírují se jeho aktuální animované hodnoty.

(Zděděno od Freezable)
GetHashCode()

Získá hash kód pro tento DependencyObject.

(Zděděno od DependencyObject)
GetLocalValueEnumerator()

Vytvoří specializovaný enumerátor pro určení vlastností závislostí, které mají místně nastavené hodnoty v tomto DependencyObjectobjektu .

(Zděděno od DependencyObject)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
GetValue(DependencyProperty)

Vrátí aktuální efektivní hodnotu vlastnosti závislosti na této instanci objektu DependencyObject.

(Zděděno od DependencyObject)
InvalidateProperty(DependencyProperty)

Znovu vyhodnotí efektivní hodnotu pro zadanou vlastnost závislosti.

(Zděděno od DependencyObject)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
OnChanged()

Volána při změně aktuálního Freezable objektu.

(Zděděno od Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Zajišťuje, že jsou vytvořeny vhodné ukazatele kontextu pro DependencyObjectType datový člen, který byl právě nastaven.

(Zděděno od Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Tento člen podporuje infrastrukturu Windows Presentation Foundation (WPF) a není určen k použití přímo z vašeho kódu.

(Zděděno od Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Přepíše implementaci DependencyObject tak, OnPropertyChanged(DependencyPropertyChangedEventArgs) aby také vyvolala všechny Changed obslužné rutiny v reakci na měnící se vlastnost závislosti typu Freezable.

(Zděděno od Freezable)
ReadLocalValue(DependencyProperty)

Vrátí místní hodnotu vlastnosti závislosti, pokud existuje.

(Zděděno od DependencyObject)
ReadPreamble()

Zajišťuje, že Freezable se k souboru přistupuje z platného vlákna. Dědíci Freezable musí tuto metodu volat na začátku jakéhokoli rozhraní API, které čte datové členy, které nejsou vlastnosti závislostí.

(Zděděno od Freezable)
SetCurrentValue(DependencyProperty, Object)

Nastaví hodnotu vlastnosti závislosti beze změny jejího zdroje hodnoty.

(Zděděno od DependencyObject)
SetValue(DependencyProperty, Object)

Nastaví místní hodnotu vlastnosti závislosti určenou identifikátorem vlastnosti závislosti.

(Zděděno od DependencyObject)
SetValue(DependencyPropertyKey, Object)

Nastaví místní hodnotu vlastnosti závislosti jen pro čtení určenou DependencyPropertyKey identifikátorem vlastnosti závislosti.

(Zděděno od DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Vrátí hodnotu, která označuje, zda serializační procesy mají serializovat hodnotu pro zadanou vlastnost závislosti.

(Zděděno od DependencyObject)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
VerifyAccess()

Vynucuje, že volající vlákno má přístup k tomuto DispatcherObject.

(Zděděno od DispatcherObject)
WritePostscript()

Changed Vyvolá událost pro Freezable a vyvolá jeho OnChanged() metodu. Třídy odvozené z Freezable by měly tuto metodu volat na konci jakéhokoli rozhraní API, které upravuje členy třídy, které nejsou uloženy jako vlastnosti závislosti.

(Zděděno od Freezable)
WritePreamble()

Ověřuje, že Freezable objekt není zamrznutý a že se k němu přistupuje z platného kontextu podprocesů. Freezable Dědiče by tuto metodu měli volat na začátku jakéhokoli rozhraní API, které zapisuje do datových členů, které nejsou vlastnosti závislostí.

(Zděděno od Freezable)

Událost

Changed

Vyvolá se při změně objektu Freezable nebo objektu, který obsahuje.

(Zděděno od Freezable)

Platí pro

Viz také