CompositionCommitBatch 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
활성 애니메이션 또는 효과 그룹입니다.
public ref class CompositionCommitBatch sealed : CompositionObject
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 131072)]
/// [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.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 131072)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class CompositionCommitBatch : CompositionObject
Public NotInheritable Class CompositionCommitBatch
Inherits CompositionObject
- 상속
- 특성
Windows 요구 사항
디바이스 패밀리 |
Windows 10 (10.0.10586.0에서 도입되었습니다.)
|
API contract |
Windows.Foundation.UniversalApiContract (v2.0에서 도입되었습니다.)
|
예제
커밋 일괄 처리
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);
}
설명
활성 애니메이션 또는 효과 그룹을 나타내고 그룹의 모든 멤버가 완료되면 콜백을 트리거합니다. CompositionCommitBatch는 암시적으로 생성되지만 완료된 이벤트를 선언하려면 검색해야 합니다. 커밋 일괄 처리는 각 커밋 주기가 끝날 때 암시적으로 닫힙니다.
애니메이션 일괄 처리 형식의 경우 일괄 처리에서 가장 긴 애니메이션의 결합된 지연 및 기간이 경과하면 콜백이 트리거됩니다. 효과 일괄 처리 유형의 경우 일괄 처리의 모든 효과 처리가 완료되면 콜백이 트리거됩니다.
커밋 주기 동안 언제든지 Compositor.GetCommitBatch 를 호출하여 현재 커밋 일괄 처리를 검색할 수 있습니다. 커밋 주기는 작성기에서 업데이트 사이의 시간으로 정의됩니다. 업데이트 시스템이 변경 내용을 처리하고 화면에 비트를 그릴 준비가 될 때까지 큐에 대기합니다. 커밋 일괄 처리는 GetCommitBatch 가 호출되기 전과 후에 커밋 주기 내의 모든 개체를 집계합니다. 커밋 일괄 처리는 컴퍼지션 스레드에서 암시적으로 생성되며, 이 스레드는 작성자가 만들어집니다. 스레드당 하나의 작성자만 있을 수 있으므로 스레드당 하나의 커밋 일괄 처리가 있습니다. 완료된 이벤트를 선언하려면 커밋 일괄 처리를 검색해야 합니다. 커밋 일괄 처리는 각 커밋 주기가 끝날 때 암시적으로 닫히며 일시 중단하거나 다시 시작할 수 없으므로 시도하면 오류가 발생합니다.
컴퍼지션 일괄 처리에 대한 자세한 내용은 컴퍼지션 애니메이션 개요를 참조하세요.
속성
Comment |
CompositionObject와 연결할 문자열입니다. (다음에서 상속됨 CompositionObject) |
Compositor |
이 CompositionObject를 만드는 데 사용되는 Compositor입니다. (다음에서 상속됨 CompositionObject) |
Dispatcher |
CompositionObject의 디스패처입니다. (다음에서 상속됨 CompositionObject) |
DispatcherQueue |
CompostionObject에 대한 DispatcherQueue 를 가져옵니다. (다음에서 상속됨 CompositionObject) |
ImplicitAnimations |
이 개체에 연결된 암시적 애니메이션의 컬렉션입니다. (다음에서 상속됨 CompositionObject) |
IsActive |
집계할 개체에 대해 CompositionCommitBatch 가 현재 열려 있는지 여부를 나타냅니다. |
IsEnded |
CompositionCommitBatch가 닫혔으며 더 이상 변경 내용을 수락할 수 없는지 여부를 나타냅니다. |
Properties |
CompositionObject와 연결된 속성의 컬렉션입니다. (다음에서 상속됨 CompositionObject) |
메서드
이벤트
Completed |
CompositionCommitBatch의 모든 개체가 완료되면 트리거되는 이벤트입니다. |