CompositionAnimationGroup 类

定义

定义一组动画。

CompositionAnimationGroup 提供了一种在列表中组合 CompositionAnimation的方法,该列表将在 CompositionObject 上调用 StartAnimationGroup 时同时启动。 CompositionAnimationGroup 中的所有 CompositionAnimation 都需要为动画本身中的 Target 属性赋值。 CompositionAnimationGroup 还可以与 ImplicitAnimationCollection 相关联,作为由于触发器而执行的动画。

public ref class CompositionAnimationGroup sealed : CompositionObject, ICompositionAnimationBase, IIterable<CompositionAnimation ^>
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.LiftedContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class CompositionAnimationGroup final : CompositionObject, ICompositionAnimationBase, IIterable<CompositionAnimation>
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65536)]
class CompositionAnimationGroup final : CompositionObject, ICompositionAnimationBase, IIterable<CompositionAnimation>
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.LiftedContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class CompositionAnimationGroup : CompositionObject, ICompositionAnimationBase, IEnumerable<CompositionAnimation>
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65536)]
public sealed class CompositionAnimationGroup : CompositionObject, ICompositionAnimationBase, IEnumerable<CompositionAnimation>
Public NotInheritable Class CompositionAnimationGroup
Inherits CompositionObject
Implements ICompositionAnimationBase, IEnumerable(Of CompositionAnimation)
继承
Object Platform::Object IInspectable CompositionObject CompositionAnimationGroup
属性
实现

示例

动画组的隐式动画用法

class PropertyAnimation 
{ 
  PropertyAnimation(Compositor compositor, SpriteVisual heroVisual, Vector2KeyFrameAnimation sizeAnimation, Vector3KeyFrameAnimation OffsetAnimation) 
  { 
  // Define ImplicitAnimations 
  ImplicitAnimationCollection implicitAnimations =  compositor.CreateImplicitAnimationCollection(); 

  // Create AnimationGroup 
  CompositionAnimationGroup animationGroup = compositor.CreateAnimationGroup(); 

  animationGroup.Add(sizeAnimation); 
  animationGroup.Add(offsetAnimation); 

  // Associate the given animation group with the “Size” Change 
  implicitAnimationsCollection["Size"] = animationGroup; 

  // assign ImplicitAnimationCollection to visual 
  heroVisual.ImplicitAnimations = implicitAnimations;  

  // Set the CenterPoint so that rotation will be around the center 
  heroVisual.CenterPoint = new Vector3((heroVisual.Size.X/2.0f), (heroVisual.Size.Y/2.0f), 0.0f); 
} 

StartAnimationGroup

class PropertyAnimation 
{ 
  PropertyAnimation(Compositor compositor, SpriteVisual heroVisual, Vector2KeyFrameAnimation sizeAnimation, Vector3KeyFrameAnimation OffsetAnimation) 
  { 
    // Create AnimationGroup 
    CompositionAnimationGroup animationGroup =  
    compositor.CreateAnimationGroup(); 

    animationGroup.Add(sizeAnimation); 
    animationGroup.Add(offsetAnimation); 
    heroVisual.StartAnimationGroup(animationGroup); 
  }
} 

注解

CompositionAnimationGroup 是 CompositionAnimation 的列表。 可以将不同的 CompositionAnimation添加到组,并且可以在 ImplicitAnimationCollection 中使用,或使用 Visual.StartAnimationGroup (CompositionAnimationGroup) 启动组。

CompositionAnimationGroup中的所有 CompositionAnimation 都应具有分配为动画模板的一部分的目标属性。

如果在循环访问组中的动画时更改 CompositionAnimationGroup,则将引发 InvalidOperationException。

使用 CompositionObject.StartAnimationGroupCompositionObject.StopAnimationGroup 方法来启动和停止动画组。

属性

Comment

要与 CompositionObject 关联的字符串。

(继承自 CompositionObject)
Compositor

用于创建此 CompositionObject 的 Compositor

(继承自 CompositionObject)
Count

组中的动画数。

DispatcherQueue

获取 CompositionObject 的 DispatcherQueue。

(继承自 CompositionObject)
ImplicitAnimations

附加到此对象的隐式动画集合。

(继承自 CompositionObject)
Properties

CompositionObject 关联的属性的集合。

(继承自 CompositionObject)

方法

Add(CompositionAnimation)

将动画添加到动画组。

Close()

关闭 CompositionObject 并释放系统资源。

(继承自 CompositionObject)
Dispose()

执行与释放或重置非托管资源关联的应用程序定义的任务。

(继承自 CompositionObject)
First()

检索组中的第一个动画。

PopulatePropertyInfo(String, AnimationPropertyInfo)

定义可进行动画处理的属性。

(继承自 CompositionObject)
Remove(CompositionAnimation)

从动画组中删除动画。

RemoveAll()

从组中删除所有动画。

StartAnimation(String, CompositionAnimation, AnimationController)

使用 对象的指定属性连接动画并启动动画。

(继承自 CompositionObject)
StartAnimation(String, CompositionAnimation)

使用 对象的指定属性连接动画并启动动画。

(继承自 CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

启动动画组。

CompositionObject 上的 StartAnimationGroup 方法可用于启动 CompositionAnimationGroup。 组中的所有动画将同时在 对象上启动。

(继承自 CompositionObject)
StopAnimation(String)

断开动画与指定属性的连接并停止动画。

(继承自 CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

停止动画组。

(继承自 CompositionObject)
TryGetAnimationController(String)

返回指定属性上运行的动画的 AnimationController。

(继承自 CompositionObject)

适用于

另请参阅