Поделиться через


CompositionCommitBatch Класс

Определение

Группа активных анимаций или эффектов.

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
Наследование
Object Platform::Object IInspectable CompositionObject CompositionCommitBatch
Атрибуты

Примеры

Пакетная фиксация

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 создается неявно, но его необходимо извлечь, чтобы объявить завершенное событие. Пакет Commit будет неявно закрыт в конце каждого цикла фиксации.

Для типа пакета анимации обратный вызов активируется по истечении совокупной задержки и длительности самой длительной анимации в пакете. Для типа пакета эффекта обратный вызов активируется после завершения обработки всех эффектов в пакете.

Текущий пакет Фиксации можно получить, вызвав Compositor.GetCommitBatch в любое время цикла фиксации. Цикл фиксации определяется как время между обновлениями из составителя. Обновления помещаются в очередь, пока система не будет готова к обработке изменений и рисованию битов на экране. Пакет Commit будет агрегировать все объекты в цикле фиксации до и после вызова GetCommitBatch .   Пакет Commit неявно создается в потоке композиции, в котором создается составитель. В потоке может быть только один композитатор, следовательно, один пакет Commit на поток. Чтобы объявить завершенное событие, необходимо получить пакет Commit. Пакет Commit будет неявно закрыт в конце каждого цикла фиксации и не может быть приостановлен или возобновлен. Это приведет к ошибке при попытке.

Дополнительные сведения о пакетах композиции см. в статье Общие сведения об анимации композиции.

Свойства

Comment

Строка, связанная с CompositionObject.

(Унаследовано от CompositionObject)
Compositor

Составитель, используемый для создания этого объекта CompositionObject.

(Унаследовано от CompositionObject)
DispatcherQueue

Возвращает DispatcherQueue для CompositionObject.

(Унаследовано от CompositionObject)
ImplicitAnimations

Коллекция неявных анимаций, присоединенных к этому объекту.

(Унаследовано от CompositionObject)
IsActive

Указывает, открыт ли объект CompositionCommitBatch для агрегирования объектов.

IsEnded

Указывает, закрыт ли compositionCommitBatch и больше не может принимать изменения.

Properties

Коллекция свойств, связанных с CompositionObject.

(Унаследовано от CompositionObject)

Методы

Close()

Закрывает объект CompositionObject и освобождает системные ресурсы.

(Унаследовано от CompositionObject)
Dispose()

Выполняет определяемые приложением задачи, связанные с удалением, высвобождением или сбросом неуправляемых ресурсов.

(Унаследовано от CompositionObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Определяет свойство, которое можно анимировать.

(Унаследовано от CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

Подключает анимацию к указанному свойству объекта и запускает анимацию.

(Унаследовано от CompositionObject)
StartAnimation(String, CompositionAnimation)

Подключает анимацию к указанному свойству объекта и запускает анимацию.

(Унаследовано от CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Запускает группу анимации.

Метод StartAnimationGroup в CompositionObject позволяет запустить CompositionAnimationGroup. Все анимации в группе будут запущены одновременно для объекта .

(Унаследовано от CompositionObject)
StopAnimation(String)

Отключает анимацию от указанного свойства и останавливает анимацию.

(Унаследовано от CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Останавливает группу анимации.

(Унаследовано от CompositionObject)
TryGetAnimationController(String)

Возвращает AnimationController для анимации, выполняемой с указанным свойством.

(Унаследовано от CompositionObject)

События

Completed

Событие, которое активируется при завершении выполнения всех объектов в CompositionCommitBatch .

Применяется к

См. также раздел