Freigeben über


CompositionCommitBatch Klasse

Definition

Eine Gruppe aktiver Animationen oder Effekte.

public ref class CompositionCommitBatch sealed : CompositionObject
/// [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 CompositionCommitBatch final : CompositionObject
/// [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 CompositionCommitBatch final : CompositionObject
[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 CompositionCommitBatch : CompositionObject
[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 CompositionCommitBatch : CompositionObject
Public NotInheritable Class CompositionCommitBatch
Inherits CompositionObject
Vererbung
Object Platform::Object IInspectable CompositionObject CompositionCommitBatch
Attribute

Beispiele

Batch committen

private void UsingCommitBatch()
{
  //Create Scoped batch for animations
  CompositionCommitBatch batch =  Compositor.GetCommitBatch(CompositionBatchTypes.Animation);

  //Setup completion event 
  batch.Completed += CommitBatchCompleted;

  //Setup animations
  Animation1(_target);
}

// Creates and defines the key frame animation 
private void Animation1(Visual targetVisual)
{
  var animation1 = _compositor.CreateVector3KeyFrameAnimation();

  animation1.InsertKeyFrame(0.0f, new Vector3(100.00f, 100.00f, 0.00f));
  animation1.InsertKeyFrame(0.5f, new Vector3(300.00f, 100.00f, 0.00f));
  animation1.InsertKeyFrame(1.0f, new Vector3(500.00f, 100.00f, 0.00f));

  animation1.Duration = TimeSpan.FromMilliseconds(2000);
  targetVisual.StartAnimation("Offset", animation1);
}

public void CommitBatchCompleted(object sender, CompositionBatchCompletedEventArgs args)
{
  _root.Children.Remove(_target);
}      

Hinweise

Stellt eine Gruppe aktiver Animationen oder Effekte dar und löst einen Rückruf aus, wenn alle Mitglieder der Gruppe abgeschlossen sind. Ein CompositionCommitBatch wird implizit erstellt, muss aber abgerufen werden, um das abgeschlossene Ereignis zu deklarieren. Ein Commitbatch wird am Ende jedes Commitzyklus implizit geschlossen.

Bei einem Animationsbatchtyp wird der Rückruf ausgelöst, wenn die kombinierte Verzögerung und Dauer der längsten Animation im Batch abgelaufen ist. Bei einem Effektbatchtyp wird der Rückruf ausgelöst, wenn die Verarbeitung aller Effekte im Batch abgeschlossen ist.

Der aktuelle Commitbatch kann jederzeit während des Commitzyklus durch Aufrufen von Compositor.GetCommitBatch abgerufen werden. Der Commit-Zyklus ist die Zeitspanne zwischen Updates des Kompositors. Updates werden in die Warteschlange gestellt, bis das System zum Verarbeiten der Änderungen und Zeichnen von Bits auf dem Bildschirm bereit ist. Der Commitbatch aggregiert alle Objekte innerhalb des Commitzyklus, die vor und nach dem Aufruf von GetCommitBatch .   Der Commitbatch wird implizit im Kompositionsthread erstellt, dem Thread, für den der Compositor erstellt wird. Es kann nur ein Compositor pro Thread vorhanden sein, daher ein Commitbatch pro Thread. Ein Commitbatch muss abgerufen werden, um das abgeschlossene Ereignis zu deklarieren. Ein Commitbatch wird am Ende jedes Commitzyklus implizit geschlossen und kann nicht angehalten oder fortgesetzt werden. Dies führt bei einem Versuch zu einem Fehler.

Weitere Informationen zu Kompositionsbatches finden Sie unter Übersicht über Kompositionsanimationen .

Eigenschaften

Comment

Eine Zeichenfolge, die dem CompositionObject zugeordnet werden soll.

(Geerbt von CompositionObject)
Compositor

Der Compositor , der zum Erstellen dieses CompositionObject verwendet wird.

(Geerbt von CompositionObject)
DispatcherQueue

Ruft die DispatcherQueue für das CompositionObject ab.

(Geerbt von CompositionObject)
ImplicitAnimations

Die Auflistung impliziter Animationen, die an dieses Objekt angefügt sind.

(Geerbt von CompositionObject)
IsActive

Gibt an, ob compositionCommitBatch derzeit für zu aggregierte Objekte geöffnet ist.

IsEnded

Gibt an , ob CompositionCommitBatch geschlossen wurde und keine Änderungen mehr annehmen kann.

Properties

Die Auflistung der Eigenschaften, die dem CompositionObject zugeordnet sind.

(Geerbt von CompositionObject)

Methoden

Close()

Schließt das CompositionObject und gibt Systemressourcen frei.

(Geerbt von CompositionObject)
Dispose()

Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen.

(Geerbt von CompositionObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Definiert eine Eigenschaft, die animiert werden kann.

(Geerbt von CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

Verbindet eine Animation mit der angegebenen Eigenschaft des Objekts und startet die Animation.

(Geerbt von CompositionObject)
StartAnimation(String, CompositionAnimation)

Verbindet eine Animation mit der angegebenen Eigenschaft des Objekts und startet die Animation.

(Geerbt von CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Startet eine Animationsgruppe.

Mit der StartAnimationGroup-Methode für CompositionObject können Sie CompositionAnimationGroup starten. Alle Animationen in der Gruppe werden gleichzeitig für das Objekt gestartet.

(Geerbt von CompositionObject)
StopAnimation(String)

Trennt eine Animation von der angegebenen Eigenschaft und beendet die Animation.

(Geerbt von CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Beendet eine Animationsgruppe.

(Geerbt von CompositionObject)
TryGetAnimationController(String)

Gibt einen AnimationController für die Animation zurück, die für die angegebene Eigenschaft ausgeführt wird.

(Geerbt von CompositionObject)

Ereignisse

Completed

Ereignis, das ausgelöst wird, wenn alle Objekte in einem CompositionCommitBatch abgeschlossen sind.

Gilt für:

Weitere Informationen