Compartilhar via


CompositionObject.StartAnimation Método

Definição

Sobrecargas

StartAnimation(String, CompositionAnimation)

Conecta uma animação com a propriedade especificada do objeto e inicia a animação.

StartAnimation(String, CompositionAnimation, AnimationController)

Conecta uma animação com a propriedade especificada do objeto e inicia a animação.

StartAnimation(String, CompositionAnimation)

Conecta uma animação com a propriedade especificada do objeto e inicia a animação.

public:
 virtual void StartAnimation(Platform::String ^ propertyName, CompositionAnimation ^ animation) = StartAnimation;
void StartAnimation(winrt::hstring const& propertyName, CompositionAnimation const& animation);
public void StartAnimation(string propertyName, CompositionAnimation animation);
function startAnimation(propertyName, animation)
Public Sub StartAnimation (propertyName As String, animation As CompositionAnimation)

Parâmetros

propertyName
String

Platform::String

winrt::hstring

A propriedade à qual associar a animação.

animation
CompositionAnimation

A animação a ser associada à propriedade especificada.

Requisitos do Windows

Família de dispositivos
Windows 10 (introduzida na 10.0.10586.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v2.0)

Exemplos

void AnimatingVisualOffset(Visual targetVisual) 
{ 
    var animation = _compositor.CreateVector3KeyFrameAnimation(); 

    // 
    // Define specific easing functions. 
    // 


    var linear = _compositor.CreateLinearEasingFunction(); 

    var easeIn = _compositor.CreateCubicBezierEasingFunction( 
            new Vector2(0.5f, 0.0f), new Vector2(1.0f, 1.0f)); 

    var easeOut = _compositor.CreateCubicBezierEasingFunction( 
            new Vector2(0.0f, 0.0f), new Vector2(0.5f, 1.0f)); 

    // 
    // Add a set of key frames to describe how the Offset should change over time.   
    // 

    animation.InsertKeyFrame(0.00f, new Vector3(100.0f, 100.0f, 0.0f)); 
    animation.InsertKeyFrame(0.25f, new Vector3(300.0f, 100.0f, 0.0f), easeIn); 
    animation.InsertKeyFrame(0.50f, new Vector3(300.0f, 300.0f, 0.0f), linear); 
    animation.InsertKeyFrame(0.75f, new Vector3(100.0f, 300.0f, 0.0f), linear); 
    animation.InsertKeyFrame(1.00f, new Vector3(100.0f, 100.0f, 0.0f), easeOut); 

    // 
    // The animation curve defined by the key frames will scale to match the duration. 
    // 

    animation.Duration = TimeSpan.FromMilliseconds(4000); 

    targetVisual.StartAnimation("Offset", animation); 
} 

Comentários

Se uma animação já estiver associada à propriedade de um objeto quando StartAnimation for chamada, a animação aplicada anterior será desconectada e a nova animação será atribuída. Da mesma forma, definir a propriedade diretamente fará com que a animação anterior seja desconectada e o novo valor da propriedade entrará em vigor.

A tabela a seguir mostra a lista de propriedades animáveis:

Objeto Nome da propriedade Tipo de propriedade
Visual AnchorPoint Vector2
CenterPoint Vector3
Deslocamento Vector3
Opacidade Escalar
Orientation Vector4
RotationAngle Escalar
RotationAxis Vector3
Tamanho Vector2
TransformMatrix Matrix4x4
InsetClip BottomInset Escalar
LeftInset Escalar
RightInset Escalar
TopInset Escalar
CompositionColorBrush Cor Windows.UI.Color
CompositionPropertySet Conjunto de propriedades especificadas pelo desenvolvedor.

Além disso, as propriedades de alguns efeitos no objeto CompositionEffectBrush podem ser animadas:

Nome do Efeito Nome da propriedade Tipo de propriedade
SaturationEffect Saturação Escalar
ColorSourceEffect Cor Vector4
AritmeticComposite Deslocamento Escalar
Source1Amount Escalar
Source2Amount Escalar
MultiplyAmount Escalar
Transform2D TransformMatrix Matrix3x2
ContrastEffect Contraste Float
ExposureEffect Exposição Float
HueRotationEffect Ângulo Float
SepiaEffect Intensidade Float
TemperatureAndTintEffect Temperatura Float
Tonalidade Float
GammaTransferEffect RedAmplitude Float
RedExponent Float
RedOffset Float
GreenAmplitude Float
GreenExponent Float
GreenOffset Float
BlueAmplitude Float
BlueExponent Float
BlueOffset Float
AlphaAmplitude Float
AlphaExponent Float
AlphaOffset Float

Aplica-se a

StartAnimation(String, CompositionAnimation, AnimationController)

Conecta uma animação com a propriedade especificada do objeto e inicia a animação.

public:
 virtual void StartAnimation(Platform::String ^ propertyName, CompositionAnimation ^ animation, AnimationController ^ animationController) = StartAnimation;
/// [Windows.Foundation.Metadata.Overload("StartAnimationWithController")]
void StartAnimation(winrt::hstring const& propertyName, CompositionAnimation const& animation, AnimationController const& animationController);
[Windows.Foundation.Metadata.Overload("StartAnimationWithController")]
public void StartAnimation(string propertyName, CompositionAnimation animation, AnimationController animationController);
function startAnimation(propertyName, animation, animationController)
Public Sub StartAnimation (propertyName As String, animation As CompositionAnimation, animationController As AnimationController)

Parâmetros

propertyName
String

Platform::String

winrt::hstring

A propriedade à qual associar a animação.

animation
CompositionAnimation

A animação a ser associada à propriedade especificada.

animationController
AnimationController

O controlador de animação a ser associado à animação.

Atributos

Requisitos do Windows

Família de dispositivos
Windows 11 Insider Preview (introduzida na 10.0.23504.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v15.0)

Comentários

O animationController parâmetro permite associar várias animações à propriedade Progress de um único controlador, o que requer menos objetos ExpressionAnimation do que associar várias propriedades do Progress animador a uma propriedade CompositionObject.

Aplica-se a