ImplicitAnimationCollection Kelas

Definisi

Kumpulan animasi yang dipicu saat kondisi terpenuhi.

public ref class ImplicitAnimationCollection sealed : CompositionObject, IIterable<IKeyValuePair<Platform::String ^, ICompositionAnimationBase ^> ^>, IMap<Platform::String ^, 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 ImplicitAnimationCollection final : CompositionObject, IIterable<IKeyValuePair<winrt::hstring, ICompositionAnimationBase const&>>, IMap<winrt::hstring, ICompositionAnimationBase const&>
[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 ImplicitAnimationCollection : CompositionObject, IDictionary<string,ICompositionAnimationBase>, IEnumerable<KeyValuePair<string,ICompositionAnimationBase>>
Public NotInheritable Class ImplicitAnimationCollection
Inherits CompositionObject
Implements IDictionary(Of String, ICompositionAnimationBase), IEnumerable(Of KeyValuePair(Of String, ICompositionAnimationBase))
Warisan
Object Platform::Object IInspectable CompositionObject ImplicitAnimationCollection
Atribut
Penerapan

Persyaratan Windows

Rangkaian perangkat
Windows 10 Anniversary Edition (diperkenalkan dalam 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v3.0)

Contoh

class PropertyAnimation 
{ 
  PropertyAnimation(Compositor compositor, SpriteVisual heroVisual, SpriteVisual listVisual) 
  { 
    // Define ImplicitAnimationCollection 
    ImplicitAnimationCollection implicitAnimations = compositor.CreateImplicitAnimationCollection(); 

    // Trigger animation when the “Offset” property changes. 
    implicitAnimations["Offset"] = CreateAnimation(compositor); 

    // Assign ImplicitAnimations to a visual. Unlike Visual.Children,     
    // ImplicitAnimations can be shared by multiple visuals so that they  
    // share the same implicit animation behavior (same as Visual.Clip). 
    heroVisual.ImplicitAnimations = implicitAnimations; 

    // ImplicitAnimations can be shared among visuals  
    listVisual.ImplicitAnimations = implicitAnimations; 

    listVisual.Offset = new Vector3(20f, 20f, 20f); 
  } 

  Vector3KeyFrameAnimation CreateAnimation(Compositor compositor) 
  { 
    Vector3KeyFrameAnimation animation = compositor.CreateVector3KeyFrameAnimation(); 
    animation.InsertExpressionKeyFrame(0f, "this.StartingValue"); 
    animation.InsertExpressionKeyFrame(1f, "this.FinalValue"); 
    animation.Target = “Offset”; 
    animation.Duration = TimeSpan.FromSeconds(0.25); 
    return animation; 
  } 
} 

Keterangan

Animasi implisit memungkinkan Anda mendorong animasi dengan menentukan kondisi pemicu daripada memerlukan definisi manual perilaku animasi. Ini membantu memisahkan animasi memulai logika dari logika aplikasi inti. Anda menentukan animasi dan peristiwa yang akan memicu animasi ini. Komposit kemudian menjalankan animasi yang ditetapkan ketika kondisi pemicu yang sesuai terpenuhi.

Pemicu

Kondisi bertindak sebagai pemicu untuk ImplicitAnimationCollection. Pemicu ini adalah properti animatable CompositionObject. Untuk Windows 10 Anniversary Update hanya properti visual animatable yang didukung sebagai pemicu.

Ini. Nilai Akhir

Ini adalah kata kunci khusus dalam "sistem Ekspresi Komposisi" yang dapat digunakan pengembang untuk membuat templat animasi mereka dan membiarkan platform mengikatnya ke nilai API properti target.

Animasi akan mendukung ini. Kata kunci FinalValue sebagai kata kunci yang valid untuk menandakan nilai akhir properti target untuk animasi.

  • Animasi Implisit – Ini . FinalValue akan diatur ke nilai terakhir tempat properti target terkait langsung ditetapkan. Misalnya, ketika properti Offset visual secara langsung ditetapkan, animasi implisit yang menargetkan properti Offset akan memiliki ini. FinalValue diatur ke nilai Offset baru, dari jenis Vector3. Animasi implisit lain yang menargetkan properti yang berbeda, misalnya Ukuran , masih akan dapat menggunakan ini. FinalValue dalam templat, dan dalam hal ini. FinalValue akan diatur ke nilai properti Ukuran saat ini, dari jenis Vector2. Perhatikan bahwa dalam kasus terakhir ini. FinalValue akan sama dengan ini. StartingValue . Ini menyediakan perilaku yang terdefinisi dengan baik dan memudahkan pengembang untuk menulis templat animasi sebagai ini. FinalValue akan selalu diselesaikan ke nilai yang valid, terlepas dari properti mana yang telah memicu perubahan.
  • Animasi Eksplisit: Secara default akan memiliki perilaku yang sama dengan kasus animasi implisit, di mana ini. FinalValue akan diatur ke nilai terakhir tempat properti langsung diatur. Misalnya, animasi yang menargetkan properti Ukuran akan memiliki ini. FinalValue diselesaikan ke nilai Ukuran terakhir yang diketahui pada lapisan API. Dengan kata lain, ini. FinalValue akan sama dengan ini. StartingValue . Pengembang akan dapat mengambil alih perilaku tersebut dan mengatur ini. FinalValue ke nilai yang berbeda dengan mengaturnya sebagai parameter animasi secara eksplisit.

Properti peristiwa dan target untuk ImplicitAnimationCollection dan CompositionAnimationGroup

ImplicitAnimationCollection memungkinkan Anda menambahkan pemicu yang animasi implisit akan memantau perubahan dan memulai animasi terkait seperti yang disediakan oleh pengembang. ImplicitAnimationCollection mendukung semua properti Visual animatable yang juga digunakan sebagai properti target untuk animasi. Target harus didefinisikan pada animasi atau akan melemparkan pengecualian.

implicitAnimationCollection[“Offset”] = offsetAnimationGroup;            

KomposisiAnimationGroup berisi daftar KomposisiAnimation di mana mereka dapat dipicu sebagai satu unit logis. Setiap KomposisiAnimasi dalam grup harus memiliki set properti target.

CompositionAnimationGroup.Add(opacityKeyFrameAnimation);
CompositionAnimationGroup.Insert(sizeKeyFrameAnimation);

ImplicitAnimationCollection mendukung properti berikut di Visual:

Properti

Comment

String yang akan dikaitkan dengan CompositionObject.

(Diperoleh dari CompositionObject)
Compositor

Compositor digunakan untuk membuat CompositionObject ini.

(Diperoleh dari CompositionObject)
Dispatcher

Dispatcher untuk CompositionObject.

(Diperoleh dari CompositionObject)
DispatcherQueue

Mendapatkan DispatcherQueue untuk CompostionObject.

(Diperoleh dari CompositionObject)
ImplicitAnimations

Kumpulan animasi implisit yang melekat pada objek ini.

(Diperoleh dari CompositionObject)
Properties

Kumpulan properti yang terkait dengan CompositionObject.

(Diperoleh dari CompositionObject)
Size

Ukuran koleksi.

Metode

Clear()

Menghapus semua animasi dari koleksi.

Close()

Menutup CompositionObject dan merilis sumber daya sistem.

(Diperoleh dari CompositionObject)
ConnectAnimation(String, CompositionAnimation)

Menyambungkan dan animasi.

(Diperoleh dari CompositionObject)
DisconnectAnimation(String)

Memutuskan sambungan animasi.

(Diperoleh dari CompositionObject)
Dispose()

Melakukan tugas yang ditentukan aplikasi yang terkait dengan membebaskan, melepaskan, atau mereset sumber daya yang tidak terkelola.

(Diperoleh dari CompositionObject)
First()

Mengambil animasi pertama dalam koleksi.

GetView()

Mengembalikan tampilan peta koleksi.

HasKey(String)

Mengembalikan boolean yang menunjukkan apakah koleksi berisi kunci yang ditentukan.

Insert(String, ICompositionAnimationBase)

Sisipkan animasi ke dalam koleksi.

Lookup(String)

Mengambil animasi yang terkait dengan properti yang ditentukan.

PopulatePropertyInfo(String, AnimationPropertyInfo)

Menentukan properti yang dapat dianimasikan.

(Diperoleh dari CompositionObject)
Remove(String)

Menghapus animasi yang ditentukan dari koleksi.

StartAnimation(String, CompositionAnimation)

Menyambungkan animasi dengan properti objek yang ditentukan dan memulai animasi.

(Diperoleh dari CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

Menyambungkan animasi dengan properti objek yang ditentukan dan memulai animasi.

(Diperoleh dari CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Memulai grup animasi.

Metode StartAnimationGroup pada CompositionObject memungkinkan Anda memulai KomposisiAnimationGroup. Semua animasi dalam grup akan dimulai pada saat yang sama pada objek.

(Diperoleh dari CompositionObject)
StopAnimation(String)

Memutuskan sambungan animasi dari properti yang ditentukan dan menghentikan animasi.

(Diperoleh dari CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Menghentikan grup animasi.

(Diperoleh dari CompositionObject)
TryGetAnimationController(String)

Mengembalikan AnimationController untuk animasi yang berjalan pada properti yang ditentukan.

(Diperoleh dari CompositionObject)

Berlaku untuk

Lihat juga