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

Commit-Batch

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 jedoch abgerufen werden, um das abgeschlossene Ereignis zu deklarieren. Ein Commit-Batch wird am Ende jedes Commit-Zyklus implizit geschlossen.

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

Der aktuelle Commit-Batch kann abgerufen werden, indem compositor.GetCommitBatch jederzeit während des Commit-Zyklus aufgerufen wird. Der Commit-Zyklus wird als Die Zeit zwischen Updates vom Kompositor definiert. Updates werden in die Warteschlange gestellt, bis das System bereit ist, die Änderungen zu verarbeiten und Bits auf dem Bildschirm zu zeichnen. Der Commit-Batch aggregiert alle Objekte innerhalb des Commit-Zyklus, die vor und nach dem Aufruf von GetCommitBatch .   Der Commit-Batch wird implizit im Kompositionsthread erstellt, dem Thread, auf dem der Kompositor erstellt wird. Pro Thread kann nur ein Kompositor vorhanden sein, daher ein Commit-Batch pro Thread. Ein Commit-Batch muss abgerufen werden, um das abgeschlossene Ereignis zu deklarieren. Ein Commit-Batch wird am Ende jedes Commit-Zyklus implizit geschlossen und kann nicht angehalten oder fortgesetzt werden. Dies führt zu einem Fehler, wenn versucht wird.

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

Eigenschaften

Name Beschreibung
Comment

Eine Zeichenfolge, die dem CompositionObject zugeordnet werden soll.

(Geerbt von CompositionObject)
Compositor

Der Kompositor , der zum Erstellen dieses CompositionObjects verwendet wurde.

(Geerbt von CompositionObject)
DispatcherQueue

Ruft den DispatcherQueue für das CompositionObject ab.

(Geerbt von CompositionObject)
ImplicitAnimations

Die Auflistung impliziter Animationen, die diesem Objekt zugeordnet sind.

(Geerbt von CompositionObject)
IsActive

Gibt an, ob das CompositionCommitBatch zurzeit geöffnet ist, damit Objekte aggregiert werden.

IsEnded

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

Properties

Die Auflistung der Eigenschaften, die dem CompositionObject zugeordnet sind.

(Geerbt von CompositionObject)

Methoden

Name Beschreibung
Close()

Schließt das CompositionObject und gibt Systemressourcen frei.

(Geerbt von CompositionObject)
Dispose()

Führt anwendungsdefinierte Aufgaben aus, die mit dem Freigeben, Freigeben oder Zurücksetzen nicht verwalteter Ressourcen verknüpft sind.

(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 auf 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 stoppt 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 auf der angegebenen Eigenschaft ausgeführt wird.

(Geerbt von CompositionObject)

Ereignisse

Name Beschreibung
Completed

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

Gilt für:

Weitere Informationen