CompositionAnimationGroup 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
定义一组动画。
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)
- 继承
- 属性
- 实现
示例
动画组的隐式动画用法
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.StartAnimationGroup 和 CompositionObject.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) |