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
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. |