Поделиться через


CompositionObject.StartAnimation Метод

Определение

Перегрузки

StartAnimation(String, CompositionAnimation)

Подключает анимацию к указанному свойству объекта и запускает анимацию.

StartAnimation(String, CompositionAnimation, AnimationController)

Подключает анимацию к указанному свойству объекта и запускает анимацию.

StartAnimation(String, CompositionAnimation)

Соединяет анимацию с указанным свойством объекта и запускает анимацию.

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)

Параметры

propertyName
String

Platform::String

winrt::hstring

Свойство, с которым связывается анимация.

animation
CompositionAnimation

Анимация, связанная с указанным свойством.

Требования к Windows

Семейство устройств
Windows 10 (появилось в 10.0.10586.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v2.0)

Примеры

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); 
} 

Комментарии

Если анимация уже привязана к свойству объекта при вызове StartAnimation, предыдущая примененная анимация будет отключена, а новая анимация будет назначена. Аналогичным образом, установка свойства напрямую приведет к отключению предыдущей анимации, а новое значение свойства вступит в силу.

В следующей таблице показан список анимируемых свойств:

Объект Имя свойства Тип свойства
Объект класса Visual AnchorPoint (Точка привязки) Vector2
CenterPoint (Центральная точка) Vector3
Offset Vector3
Непрозрачность скалярная
Ориентация Vector4
RotationAngle (Угол поворота) скалярная
RotationAxis (Ось поворота) Vector3
Размер Vector2
TransformMatrix Matrix4x4
Объекты класса InsetClip BottomInset (Углубление вниз) скалярная
LeftInset (Углубление влево) скалярная
RightInset (Углубление вправо) скалярная
TopInset (Углубление вверх) скалярная
CompositionColorBrush Цвет Windows.UI.Color
CompositionPropertySet Набор свойств, заданных разработчиком.

Кроме того, можно анимировать свойства некоторых эффектов в объекте CompositionEffectBrush :

Имя эффекта Имя свойства Тип свойства
SaturationEffect Насыщенность скалярная
ColorSourceEffect Цвет Vector4
ArithmeticComposite Offset скалярная
Source1Amount скалярная
Source2Amount скалярная
MultiplyAmount скалярная
Transform2D TransformMatrix Matrix3x2
ContrastEffect Контраст Float
ExposureEffect Экспозиция Float
HueRotationEffect Angle Float
SepiaEffect Интенсивность Float
TemperatureAndTintEffect температура; Float
Оттенок Float
GammaTransferEffect RedAmplitude Float
Red Exponent Float
RedOffset Float
GreenAmplitude Float
Green Exponent Float
GreenOffset Float
BlueAmplitude Float
Blue Exponent Float
BlueOffset Float
AlphaAmplitude Float
АльфаЭкспонент Float
AlphaOffset Float

Применяется к

StartAnimation(String, CompositionAnimation, AnimationController)

Соединяет анимацию с указанным свойством объекта и запускает анимацию.

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)

Параметры

propertyName
String

Platform::String

winrt::hstring

Свойство, с которым связывается анимация.

animation
CompositionAnimation

Анимация, связанная с указанным свойством.

animationController
AnimationController

Контроллер анимации, который необходимо связать с анимацией.

Атрибуты

Требования к Windows

Семейство устройств
Windows 11 Insider Preview (появилось в 10.0.23504.0)
API contract
Windows.Foundation.UniversalApiContract (появилось в v15.0)

Комментарии

Параметр animationController позволяет привязать несколько анимаций к свойству Progress одного контроллера, что требует меньше объектов ExpressionAnimation, чем привязка Progress нескольких свойств аниматора к свойству CompositionObject.

Применяется к