EasingFunctionBase Classe

Definição

Fornece a classe base para todas as funções de flexibilização.

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
Herança
Derivado
Implementações

Exemplos

O exemplo a seguir demonstra como criar uma função de flexibilização personalizada simples. Você pode adicionar sua própria lógica matemática para como a função de flexibilização se comporta substituindo o EaseInCore método.

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>

Observações

Pode criar as suas próprias funções de flexibilização personalizadas ao herdar desta classe.

Construtores

Name Description
EasingFunctionBase()

Inicializa uma nova instância da EasingFunctionBase classe.

Campos

Name Description
EasingModeProperty

Identifica a EasingMode propriedade de dependência.

Propriedades

Name Description
CanFreeze

Obtém um valor que indica se o objeto pode ser tornado inmodificável.

(Herdado de Freezable)
DependencyObjectType

Obtém o DependencyObjectType que envolve o tipo CLR desta instância.

(Herdado de DependencyObject)
Dispatcher

Percebe o Dispatcher que isto DispatcherObject está associado.

(Herdado de DispatcherObject)
EasingMode

Recebe ou define um valor que especifica como a animação interpola.

IsFrozen

Recebe um valor que indica se o objeto é atualmente modificável.

(Herdado de Freezable)
IsSealed

Recebe um valor que indica se esta instância está atualmente selada (apenas leitura).

(Herdado de DependencyObject)

Métodos

Name Description
CheckAccess()

Determina se o thread que chama tem acesso a este DispatcherObject.

(Herdado de DispatcherObject)
ClearValue(DependencyProperty)

Limpa o valor local de uma propriedade. A propriedade a ser limpa é especificada por um DependencyProperty identificador.

(Herdado de DependencyObject)
ClearValue(DependencyPropertyKey)

Limpa o valor local de uma propriedade de apenas leitura. O imóvel a ser limpo é especificado por um DependencyPropertyKey.

(Herdado de DependencyObject)
Clone()

Cria um clone modificável do Freezable, fazendo cópias profundas dos valores do objeto. Ao copiar as propriedades de dependência do objeto, este método copia expressões (que podem deixar de se resolver), mas não as animações nem os seus valores atuais.

(Herdado de Freezable)
CloneCore(Freezable)

Torna a instância um clone (cópia profunda) dos valores especificados Freezable usando valores base (não animados).

(Herdado de Freezable)
CloneCurrentValue()

Cria um clone modificável (cópia profunda) do Freezable usando os seus valores atuais.

(Herdado de Freezable)
CloneCurrentValueCore(Freezable)

Torna a instância um clone modificável (cópia profunda) do especificado Freezable usando valores atuais de propriedades.

(Herdado de Freezable)
CoerceValue(DependencyProperty)

Coage o valor da propriedade de dependência especificada. Isto é conseguido invocando qualquer CoerceValueCallback função especificada nos metadados da propriedade para a propriedade de dependência tal como existe na chamada DependencyObject.

(Herdado de DependencyObject)
CreateInstance()

Inicializa uma nova instância da Freezable classe.

(Herdado de Freezable)
CreateInstanceCore()

Quando implementado numa classe derivada, cria-se uma nova instância da Freezable classe derivada.

(Herdado de Freezable)
Ease(Double)

Transforma o tempo normalizado para controlar o ritmo de uma animação.

EaseInCore(Double)

Fornece a parte lógica da função de alívio que podes sobrepor para produzir o EaseIn modo da função de alívio personalizada.

Equals(Object)

Determina se um fornecido DependencyObject é equivalente à corrente DependencyObject.

(Herdado de DependencyObject)
Freeze()

Torna o objeto atual immodificável e define a sua IsFrozen propriedade como true.

(Herdado de Freezable)
FreezeCore(Boolean)

Torna o Freezable objeto immodificável ou testa se pode ser tornado immodificável.

(Herdado de Freezable)
GetAsFrozen()

Cria uma cópia congelada do Freezable, usando valores base (não animados) da propriedade. Como a cópia está congelada, quaisquer subobjetos congelados são copiados por referência.

(Herdado de Freezable)
GetAsFrozenCore(Freezable)

Torna a instância um clone congelado do especificado Freezable usando valores base (não animados).

(Herdado de Freezable)
GetCurrentValueAsFrozen()

Cria uma cópia congelada do Freezable usando os valores atuais das propriedades. Como a cópia está congelada, quaisquer subobjetos congelados são copiados por referência.

(Herdado de Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Torna a instância atual um clone congelado do especificado Freezable. Se o objeto tiver propriedades de dependência animadas, os seus valores animados atuais são copiados.

(Herdado de Freezable)
GetHashCode()

Obtém um código de hash para isto DependencyObject.

(Herdado de DependencyObject)
GetLocalValueEnumerator()

Cria um enumerador especializado para determinar quais as propriedades de dependência que têm valores localmente definidos neste DependencyObject.

(Herdado de DependencyObject)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetValue(DependencyProperty)

Devolve o valor efetivo atual de uma propriedade de dependência nesta instância de um DependencyObject.

(Herdado de DependencyObject)
InvalidateProperty(DependencyProperty)

Reavalia o valor efetivo da propriedade de dependência especificada.

(Herdado de DependencyObject)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
OnChanged()

Chamada quando o objeto atual Freezable é modificado.

(Herdado de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Este membro suporta a infraestrutura Windows Presentation Foundation (WPF) e não foi concebido para ser usado diretamente a partir do seu código.

(Herdado de Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Assegura que os apontadores de contexto apropriados são estabelecidos para um DependencyObjectType membro de dados que acabou de ser definido.

(Herdado de Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Sobrepõe a DependencyObject implementação de OnPropertyChanged(DependencyPropertyChangedEventArgs) para também invocar quaisquer Changed manipuladores em resposta a uma alteração da propriedade de dependência do tipo Freezable.

(Herdado de Freezable)
ReadLocalValue(DependencyProperty)

Devolve o valor local de uma propriedade de dependência, se esta existir.

(Herdado de DependencyObject)
ReadPreamble()

Garante que está a ser acedido Freezable a partir de um thread válido. Os herdeiros de Freezable devem chamar este método no início de qualquer API que leia membros de dados que não são propriedades de dependência.

(Herdado de Freezable)
SetCurrentValue(DependencyProperty, Object)

Define o valor de uma propriedade de dependência sem alterar a sua fonte de valor.

(Herdado de DependencyObject)
SetValue(DependencyProperty, Object)

Define o valor local de uma propriedade de dependência, especificado pelo seu identificador de propriedade de dependência.

(Herdado de DependencyObject)
SetValue(DependencyPropertyKey, Object)

Define o valor local de uma propriedade de dependência somente de leitura, especificado pelo DependencyPropertyKey identificador da propriedade de dependência.

(Herdado de DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Devolve um valor que indica se os processos de serialização devem serializar o valor da propriedade de dependência fornecida.

(Herdado de DependencyObject)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)
VerifyAccess()

Faz cumprir que o thread que chama tem acesso a este DispatcherObject.

(Herdado de DispatcherObject)
WritePostscript()

Eleva o Changed evento para o Freezable e invoca o seu OnChanged() método. As classes que derivam de Freezable devem chamar este método no final de qualquer API que modifique membros de classe que não estejam armazenados como propriedades de dependência.

(Herdado de Freezable)
WritePreamble()

Verifica se o Freezable não está congelado e que está a ser acedido a partir de um contexto de threading válido. Freezable os herdeiros devem chamar este método no início de qualquer API que escreva para membros de dados que não sejam propriedades de dependência.

(Herdado de Freezable)

evento

Name Description
Changed

Ocorre quando o Freezable ou um objeto que contém é modificado.

(Herdado de Freezable)

Aplica-se a

Ver também