다음을 통해 공유


CompositionCommitBatch 클래스

정의

활성 애니메이션 또는 효과 그룹입니다.

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
상속
Object Platform::Object IInspectable CompositionObject CompositionCommitBatch
특성

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)

메서드

Close()

CompositionObject를 닫고 시스템 리소스를 해제합니다.

(다음에서 상속됨 CompositionObject)
ConnectAnimation(String, CompositionAnimation)

연결 및 애니메이션.

(다음에서 상속됨 CompositionObject)
DisconnectAnimation(String)

애니메이션의 연결을 끊습니다.

(다음에서 상속됨 CompositionObject)
Dispose()

관리되지 않는 리소스의 확보, 해제 또는 다시 설정과 관련된 애플리케이션 정의 작업을 수행합니다.

(다음에서 상속됨 CompositionObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

애니메이션 효과를 주는 속성을 정의합니다.

(다음에서 상속됨 CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

개체의 지정된 속성에 애니메이션을 연결하고 애니메이션을 시작합니다.

(다음에서 상속됨 CompositionObject)
StartAnimation(String, CompositionAnimation)

개체의 지정된 속성에 애니메이션을 연결하고 애니메이션을 시작합니다.

(다음에서 상속됨 CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

애니메이션 그룹을 시작합니다.

CompositionObject의 StartAnimationGroup 메서드를 사용하면 CompositionAnimationGroup을 시작할 수 있습니다. 그룹의 모든 애니메이션은 개체에서 동시에 시작됩니다.

(다음에서 상속됨 CompositionObject)
StopAnimation(String)

지정된 속성에서 애니메이션의 연결을 끊고 애니메이션을 중지합니다.

(다음에서 상속됨 CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

애니메이션 그룹을 중지합니다.

(다음에서 상속됨 CompositionObject)
TryGetAnimationController(String)

지정된 속성에서 실행되는 애니메이션에 대한 AnimationController를 반환합니다.

(다음에서 상속됨 CompositionObject)

이벤트

Completed

CompositionCommitBatch의 모든 개체가 완료되면 트리거되는 이벤트입니다.

적용 대상

추가 정보