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 中的所有 CompositionAnimations都應該將目標屬性指派為動畫範本的一部分。
如果在逐一查看群組中的動畫時變更 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() |
執行與釋放 (Free)、釋放 (Release) 或重設 Unmanaged 資源相關聯之應用程式定義的工作。 (繼承來源 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) |