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


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

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

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

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

Свойства

Comment

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

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

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

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

Диспетчер для CompositionObject.

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

Возвращает dispatcherQueue для объекта CompostionObject.

(Унаследовано от 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)

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

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

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

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

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

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

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

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

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

События

Completed

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

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

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