ElasticEase Classe

Definição

Representa uma função de easing que cria uma animação que se assemelha a uma mola oscilando para frente e para trás até que se trata de descansar.

public ref class ElasticEase sealed : EasingFunctionBase
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ElasticEase final : EasingFunctionBase
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ElasticEase : EasingFunctionBase
Public NotInheritable Class ElasticEase
Inherits EasingFunctionBase
<ElasticEase .../>
Herança
Object Platform::Object IInspectable DependencyObject EasingFunctionBase ElasticEase
Atributos

Exemplos

Este exemplo XAML aplica uma função de easing ElasticEase a uma DoubleAnimation para criar uma animação que se assemelha a uma mola oscilando para frente e para trás até que ela se retome.

<StackPanel x:Name="LayoutRoot" >
    <StackPanel.Resources>
        <Storyboard x:Name="myStoryboard">
            <DoubleAnimation From="1" To="6" Duration="00:00:3" 
                Storyboard.TargetName="rectScaleTransform" 
                Storyboard.TargetProperty="ScaleY">
                <DoubleAnimation.EasingFunction>
                    
                    <!-- Elastic easing function assigned to From/To animation -->
                    <ElasticEase x:Name="myElasticEase" Oscillations="3" 
                     Springiness="1" EasingMode="EaseOut"/>
                </DoubleAnimation.EasingFunction>
            </DoubleAnimation>
        </Storyboard>
    </StackPanel.Resources>

    <Rectangle PointerPressed="Pointer_Clicked" 
     Fill="Blue" Width="200" Height="30">
        <Rectangle.RenderTransform>
            <ScaleTransform x:Name="rectScaleTransform" />
        </Rectangle.RenderTransform>
    </Rectangle>

</StackPanel>
// When the user clicks the rectangle, the animation
// begins. 
private void Pointer_Clicked(object sender, PointerRoutedEventArgs e)
{
    myStoryboard.Begin();
}

Comentários

ElasticEase é uma das duas funções de easing que podem produzir um valor fora do intervalo normal De/Para . (O outro é BackEase.) À medida que a função easing começa, o valor oscila positivo e negativo em torno do valor De até atingir uma amplitude positiva eventual que é o valor To . A propriedade Springiness modifica o caractere sinusoidal dessa oscilação. Com Springiness de 0, a oscilação é basicamente sinusoidal e se assemelha a um diagrama típico do movimento de uma mola. Com valores springiness maiores, é como amortecer o movimento da primavera.

A propriedade Oscilações declara quantas vezes a função oscila e cruza em valores que estão realmente abaixo do valor inicial de From .

Você pode obter os melhores resultados apenas experimentando as propriedades Springiness, Oscillations e EasingMode até que a animação esteja fazendo visualmente o que você deseja para seu cenário de valor de propriedade animado.

BounceEase é uma função de easing semelhante que funciona bem para a emulação física em animações. A diferença com ElasticEase é que um BounceEase nunca sairá do intervalo De/Para . Outra maneira de conceituar as duas funções de easing é que ElasticEase é o que você pode usar para animar a arrancada de uma cadeia de caracteres, enquanto BounceEase é o que você pode usar para mostrar o salto de uma bola contra uma linha ou plano.

Uma função de easing pode ser aplicada às propriedades EasingFunction de animações From/To/By ou às propriedades EasingFunction de tipos de quadro-chave usados para as variantes easing de animações de quadro-chave. Para obter mais informações, consulte animações de quadro-chave e animações de função de easing.

Construtores

Nome Description
ElasticEase()

Inicializa uma nova instância da classe ElasticEase .

Propriedades

Nome Description
Dispatcher

Sempre retorna null em um aplicativo do SDK de Aplicativo do Windows. Em vez disso , use DispatcherQueue .

(Herdado de DependencyObject)
DispatcherQueue

Obtém o DispatcherQueue que este objeto está associado. Representa DispatcherQueue uma instalação que pode acessar o DependencyObject thread da interface do usuário mesmo se o código for iniciado por um thread que não seja da interface do usuário.

(Herdado de DependencyObject)
EasingMode

Obtém ou define um valor que especifica como a animação é interpolada.

(Herdado de EasingFunctionBase)
Oscillations

Obtém ou define o número de vezes que o destino desliza para frente e para trás sobre o destino da animação.

OscillationsProperty

Identifica a propriedade de dependência oscilações .

Springiness

Obtém ou define a rigidez da mola. Quanto menor for o valor springiness, mais rígido será a mola e mais rápido a elasticidade diminuirá em intensidade em cada oscilação.

SpringinessProperty

Identifica a propriedade de dependência Springiness .

Métodos

Nome Description
ClearValue(DependencyProperty)

Limpa o valor local de uma propriedade de dependência.

(Herdado de DependencyObject)
Ease(Double)

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

(Herdado de EasingFunctionBase)
GetAnimationBaseValue(DependencyProperty)

Retorna qualquer valor base estabelecido para uma propriedade de dependência, que se aplicaria em casos em que uma animação não está ativa.

(Herdado de DependencyObject)
GetValue(DependencyProperty)

Retorna o valor efetivo atual de uma propriedade de dependência de um DependencyObject.

(Herdado de DependencyObject)
ReadLocalValue(DependencyProperty)

Retorna o valor local de uma propriedade de dependência, se um valor local for definido.

(Herdado de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Registra uma função de notificação para escutar alterações em um DependencyProperty específico nesta instância dependencyObject .

(Herdado de DependencyObject)
SetValue(DependencyProperty, Object)

Define o valor local de uma propriedade de dependência em um DependencyObject.

(Herdado de DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Cancela uma notificação de alteração que foi registrada anteriormente chamando RegisterPropertyChangedCallback.

(Herdado de DependencyObject)

Aplica-se a

Confira também