CompositionAnimationGroup 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
定义一组动画。
CompositionAnimationGroup 提供了一种将 CompositionAnimation分组到列表中的方法,该列表将在对 CompositionObject 调用 StartAnimationGroup 时同时启动。 CompositionAnimationGroup 中的所有 CompositionAnimation 都需要为动画本身中的 Target 属性赋值。 CompositionAnimationGroup 还可以与 ImplicitAnimationCollection 相关联,作为作为触发器的结果执行的动画。
public ref class CompositionAnimationGroup sealed : CompositionObject, IIterable<CompositionAnimation ^>, ICompositionAnimationBase
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 196608)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class CompositionAnimationGroup final : CompositionObject, IIterable<CompositionAnimation>, ICompositionAnimationBase
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 196608)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class CompositionAnimationGroup : CompositionObject, IEnumerable<CompositionAnimation>, ICompositionAnimationBase
Public NotInheritable Class CompositionAnimationGroup
Inherits CompositionObject
Implements ICompositionAnimationBase, IEnumerable(Of CompositionAnimation)
- 继承
- 属性
- 实现
Windows 要求
设备系列 |
Windows 10 Anniversary Edition (在 10.0.14393.0 中引入)
|
API contract |
Windows.Foundation.UniversalApiContract (在 v3.0 中引入)
|
示例
动画组的隐式动画用法
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。
使用 CompostionObject.StartAnimationGroup 和 CompostionObject.StopAnimationGroup 方法来启动和停止动画组。
属性
Comment |
要与 CompositionObject 关联的字符串。 (继承自 CompositionObject) |
Compositor |
用于创建此 CompositionObject 的 Compositor。 (继承自 CompositionObject) |
Count |
组中的动画数。 |
Dispatcher |
CompositionObject 的调度程序。 (继承自 CompositionObject) |
DispatcherQueue |
获取 CompostionObject 的 DispatcherQueue 。 (继承自 CompositionObject) |
ImplicitAnimations |
附加到此 对象的隐式动画的集合。 (继承自 CompositionObject) |
Properties |
与 CompositionObject 关联的属性的集合。 (继承自 CompositionObject) |