CompositionCommitBatch Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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. |