SplineDoubleKeyFrame Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
public ref class SplineDoubleKeyFrame sealed : DoubleKeyFrame
/// [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 SplineDoubleKeyFrame final : DoubleKeyFrame
[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 SplineDoubleKeyFrame : DoubleKeyFrame
Public NotInheritable Class SplineDoubleKeyFrame
Inherits DoubleKeyFrame
<SplineDoubleKeyFrame .../>
- Herança
- Atributos
Exemplos
Este exemplo XAML move um retângulo em uma tela. O exemplo usa a classe DoubleAnimationUsingKeyFrames para animar a propriedade X de um TranslateTransform aplicado a um Retângulo. Essa animação usa três quadros-chave da seguinte maneira:
- Durante os três primeiros segundos, ele usa uma instância da classe LinearDoubleKeyFrame para mover o retângulo ao longo de um caminho a uma taxa estável de sua posição inicial para a posição 500. Quadros de chave lineares como LinearDoubleKeyFrame criam uma transição linear suave entre valores.
- No final do quarto segundo, ele usa uma instância da classe DiscreteDoubleKeyFrame para mover de repente o retângulo para a próxima posição. Quadros-chave discretos como DiscreteDoubleKeyFrame criam saltos repentinos entre valores. Neste exemplo, o retângulo está na posição inicial e, de repente, aparece na posição 500.
- Nos dois segundos finais, ele usa uma instância da classe SplineDoubleKeyFrame para mover o retângulo de volta para sua posição inicial. Quadros de chave spline, como SplineDoubleKeyFrame, criam uma transição variável entre valores de acordo com o valor da propriedade KeySpline . Neste exemplo, o retângulo começa movendo-se lentamente e acelera exponencialmente no final do segmento de tempo.
<StackPanel>
<StackPanel.Resources>
<Storyboard x:Name="myStoryboard">
<!-- Animate the TranslateTransform's X property
from 0 to 350, then 50,
then 200 over 10 seconds. -->
<DoubleAnimationUsingKeyFrames
Storyboard.TargetName="MyAnimatedTranslateTransform"
Storyboard.TargetProperty="X"
Duration="0:0:10" EnableDependentAnimation="True">
<!-- Using a LinearDoubleKeyFrame, the rectangle moves
steadily from its starting position to 500 over
the first 3 seconds. -->
<LinearDoubleKeyFrame Value="500" KeyTime="0:0:3" />
<!-- Using a DiscreteDoubleKeyFrame, the rectangle suddenly
appears at 400 after the fourth second of the animation. -->
<DiscreteDoubleKeyFrame Value="400" KeyTime="0:0:4" />
<!-- Using a SplineDoubleKeyFrame, the rectangle moves
back to its starting point. The
animation starts out slowly at first and then speeds up.
This KeyFrame ends after the 6th
second. -->
<SplineDoubleKeyFrame KeySpline="0.6,0.0 0.9,0.00" Value="0" KeyTime="0:0:6" />
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</StackPanel.Resources>
<Rectangle Fill="Blue" Width="50" Height="50" Loaded="Start_Animation">
<Rectangle.RenderTransform>
<TranslateTransform x:Name="MyAnimatedTranslateTransform"
X="0" Y="0" />
</Rectangle.RenderTransform>
</Rectangle>
</StackPanel>
// Start the animation when the object loads
private void Start_Animation(object sender, RoutedEventArgs e)
{
myStoryboard.Begin();
}
Comentários
As animações de quadro-chave permitem mais de um valor de destino que é atingido em um ponto ao longo da linha do tempo da animação. Em outras palavras, cada quadro-chave pode especificar um valor intermediário diferente e o último quadro de chave atingido é o valor final da animação. Ao especificar vários valores a serem animados, você pode criar animações mais complexas. Você pode misturar keyframes discretos, lineares e spline na mesma coleção de quadros de chaves.
Para obter mais informações sobre como usar animações de quadro-chave, consulte animações de quadro-chave e animações de função de easing.
Construtores
| Nome | Description |
|---|---|
| SplineDoubleKeyFrame() |
Inicializa uma nova instância da classe SplineDoubleKeyFrame . |
Propriedades
| Nome | Description |
|---|---|
| Dispatcher |
Sempre retorna |
| DispatcherQueue |
Obtém o |
| KeySpline |
Obtém ou define os dois pontos de controle que definem o progresso da animação para esse quadro-chave. |
| KeySplineProperty |
Identifica a propriedade de dependência KeySpline . |
| KeyTime |
Obtém ou define a hora em que o valor de destino do quadro-chave deve ser atingido. (Herdado de DoubleKeyFrame) |
| Value |
Obtém ou define o valor de destino do quadro-chave. (Herdado de DoubleKeyFrame) |
Métodos
| Nome | Description |
|---|---|
| ClearValue(DependencyProperty) |
Limpa o valor local de uma propriedade de dependência. (Herdado de DependencyObject) |
| 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) |