Partilhar via


PointAnimationUsingKeyFrames Classe

Definição

Anima o valor de uma propriedade Point ao longo de um conjunto de KeyFrames.

public ref class PointAnimationUsingKeyFrames sealed : Timeline
/// [Microsoft.UI.Xaml.Markup.ContentProperty(Name="KeyFrames")]
/// [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 PointAnimationUsingKeyFrames final : Timeline
[Microsoft.UI.Xaml.Markup.ContentProperty(Name="KeyFrames")]
[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 PointAnimationUsingKeyFrames : Timeline
Public NotInheritable Class PointAnimationUsingKeyFrames
Inherits Timeline
<PointAnimationUsingKeyFrames>
  oneOrMorePointKeyFrames
</PointAnimationUsingKeyFrames>
Herança
Object Platform::Object IInspectable DependencyObject Timeline PointAnimationUsingKeyFrames
Atributos

Exemplos

O exemplo a seguir move uma elipse ao longo de um caminho triangular. O exemplo usa a classe PointAnimationUsingKeyFrames para animar a propriedade Center de um EllipseGeometry. Essa animação usa três quadros-chave da seguinte maneira:

  1. Durante a primeira metade do segundo, ele usa uma instância da classe LinearPointKeyFrame para mover a elipse ao longo de um caminho a uma taxa constante de sua posição inicial. Quadros-chave lineares, como LinearPointKeyFrame , criam uma interpolação linear suave entre valores.
  2. Durante o final do próximo segundo, ele usa uma instância da classe DiscretePointKeyFrame para mover de repente a elipse ao longo do caminho para a próxima posição. Quadros-chave discretos, como DiscretePointKeyFrame , criam saltos repentinos entre valores.
  3. Durante os dois segundos finais, ele usa uma instância da classe SplinePointKeyFrame para mover a elipse de volta para sua posição inicial. Quadros-chave spline como SplinePointKeyFrame criam uma transição variável entre valores de acordo com os valores da propriedade KeySpline . Neste exemplo, a animação começa lentamente e acelera exponencialmente na direção do final do segmento de tempo.
<Canvas Width="400" Height="300">
    <Canvas.Resources>
        <Storyboard x:Name="myStoryboard">

            <!-- Animating the Center property uses 3 KeyFrames, which animate
             the ellipse allong a triangular path. -->
            <PointAnimationUsingKeyFrames
          Storyboard.TargetProperty="Center"
          Storyboard.TargetName="MyAnimatedEllipseGeometry"
          Duration="0:0:5" RepeatBehavior="Forever" EnableDependentAnimation="True">

                <!-- Over the first half second, Using a LinearPointKeyFrame, the ellipse 
               moves steadily from its starting position along the first line of the 
               trianglar path.  -->
                <LinearPointKeyFrame KeyTime="0:0:0.5" Value="100,300" />

                <!-- Using a DiscretePointKeyFrame, the ellipse suddenly changes position
               after the first second of the animation. -->
                <DiscretePointKeyFrame KeyTime="0:0:1" Value="400,300" />

                <!-- Using a SplinePointKeyFrame, the ellipse moves back to its starting
               position. It moves slowly at first and then speeds up. This key frame 
               takes 2 seconds to complete. -->
                <SplinePointKeyFrame KeySpline="0.6,0.0 0.9,0.00" 
                 KeyTime="0:0:3" Value="200,100" />
            </PointAnimationUsingKeyFrames>
        </Storyboard>
    </Canvas.Resources>
    <Path Fill="Blue" Loaded="Start_Animation">
        <Path.Data>

            <!-- Describes an ellipse. -->
            <EllipseGeometry x:Name="MyAnimatedEllipseGeometry"
             Center="200,100" RadiusX="15" RadiusY="15" />
        </Path.Data>
    </Path>
</Canvas>
// Start the animation when the object loads
private void Start_Animation(object sender, RoutedEventArgs e)
{
    myStoryboard.Begin();
}

Construtores

PointAnimationUsingKeyFrames()

Inicializa uma nova instância da classe PointAnimationUsingKeyFrames .

Propriedades

AutoReverse

Obtém ou define um valor que indica se a linha do tempo é executada em ordem inversa após concluir uma iteração na ordem comum.

(Herdado de Timeline)
BeginTime

Obtém ou define a hora em que essa Linha do Tempo deve começar.

(Herdado de Timeline)
Dispatcher

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

(Herdado de DependencyObject)
DispatcherQueue

Obtém o ao DispatcherQueue qual este objeto está associado. O DispatcherQueue representa uma instalação que pode acessar o DependencyObject no thread da interface do usuário, mesmo que o código seja iniciado por um thread que não seja da interface do usuário.

(Herdado de DependencyObject)
Duration

Obtém ou define o período para o qual essa linha do tempo é reproduzida, sem contar repetições.

(Herdado de Timeline)
EnableDependentAnimation

Obtém ou define um valor que declara se as propriedades animadas consideradas animações dependentes devem ter permissão para usar essa declaração de animação.

EnableDependentAnimationProperty

Identifica a propriedade de dependência EnableDependentAnimation .

FillBehavior

Obtém ou define um valor que especifica como a animação se comporta depois de atingir o final de seu período ativo.

(Herdado de Timeline)
KeyFrames

Obtém a coleção de objetos PointKeyFrame que definem a animação.

RepeatBehavior

Obtém ou define o comportamento de repetição desta linha do tempo.

(Herdado de Timeline)
SpeedRatio

Obtém ou define a taxa, em relação ao pai, em que o tempo progride para esta Linha do Tempo.

(Herdado de Timeline)

Métodos

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 nos 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 uma DependencyProperty específica nessa 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)

Eventos

Completed

Ocorre quando o objeto Storyboard concluiu a reprodução.

(Herdado de Timeline)

Aplica-se a

Confira também