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


Timeline Класс

Определение

Определяет сегмент времени.

public ref class Timeline abstract : System::Windows::Media::Animation::Animatable
[System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)]
[System.Windows.Markup.RuntimeNameProperty("Name")]
public abstract class Timeline : System.Windows.Media.Animation.Animatable
[<System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)>]
[<System.Windows.Markup.RuntimeNameProperty("Name")>]
type Timeline = class
    inherit Animatable
Public MustInherit Class Timeline
Inherits Animatable
Наследование
Производный
Атрибуты

Комментарии

Временная шкала представляет сегмент времени. Он предоставляет свойства, с помощью которых вы сможете задать длину этого сегмента, время запуска сегмента, количество повторов сегмента, скорость течения времени в этом сегменте и многое другое.

Классы, которые унаследованы от класса временной шкалы, предоставляют дополнительные функции, такие как анимация и воспроизведение мультимедиа. Ниже приведены примеры некоторых доступных типов специализированных временных шкал.

  • Анимации. — AnimationTimeline это тип временной шкалы, который создает выходные значения. При связывании анимации со свойством она обновляет значение свойства по мере воспроизведения, тем самым "анимируя" его. Общие сведения об анимации см. в разделе Общие сведения об анимации. Сведения о различных способах применения анимации см. в статье Общие сведения о методах анимации свойств.

  • MediaTimelinesMediaTimeline это тип временной шкалы, который управляет воспроизведением файла мультимедиа.

  • ParallelTimelinesParallelTimeline это тип временной шкалы, который группирует другие временные шкалы.

  • РаскадровкиStoryboard это особый тип , который предоставляет сведения о целевых объектах ParallelTimeline и свойствах для содержащихся в нем временных шкал. Дополнительные сведения об объектах Storyboard см. в разделе Общие сведения о раскадровках.

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

Привязка данных и анимация временных шкал

Большинство свойств временной шкалы могут быть привязаны к данным или анимированы; Однако из-за того, как работает система синхронизации, привязанные к данным или анимированные временные шкалы не ведут себя так, как другие привязанные к данным или анимированные объекты. Чтобы понять их поведение, необходимо понять, что означает активация временной шкалы.

При применении временной шкалы создаются копии временной шкалы и ее дочерних временных шкал. Эти копии фиксируются (устанавливаются в режим "только для чтения"), а на их базе создаются объекты Clock. Именно эти часы выполняют фактическую работу по анимации целевых свойств. Если временная шкала была привязана к данным или анимирована, моментальный снимок ее текущих значений создавался при создании ее часов. Несмотря на то, что исходная временная шкала может продолжать меняться, ее часы не меняются.

Чтобы временная шкала отражала изменения привязки данных или анимации, необходимо повторно создать ее часы. Автоматическое обновление часов не поддерживается. Ниже показано несколько способов применения изменений временной шкалы.

  • Если временная шкала является раскадровкой Storyboard или принадлежит ей, для показа изменений раскадровку нужно применить повторно с помощью BeginStoryboard или метода Begin. Это имеет побочный эффект в виде перезапуска анимации. В коде можно использовать метод Seek для возврата раскадровки в предыдущее положение.

  • Если вы применили анимацию непосредственно к свойству с помощью BeginAnimation метода , снова вызовите BeginAnimation метод и передайте ему измененную анимацию.

  • При работе непосредственно на уровне часов создайте и примените новый набор часов и используйте его для замены предыдущего набора созданных часов.

Пример анимации с привязкой к данным см. в разделе Пример анимации сплайна ключей .

Использование временной шкалы в качестве таймера

Часы временной шкалы будут выполняться только в том случае, если с ним связан обработчик событий или (в случае AnimationClock объекта) он связан со свойством. По этой причине (и другие) не рекомендуется использовать в Timeline качестве таймера.

Конструкторы

Timeline()

Инициализирует новый экземпляр класса Timeline.

Timeline(Nullable<TimeSpan>)

Инициализирует новый экземпляр класса Timeline указанным значением BeginTime.

Timeline(Nullable<TimeSpan>, Duration)

Инициализирует новый экземпляр класса Timeline с заданными свойствами BeginTime и Duration.

Timeline(Nullable<TimeSpan>, Duration, RepeatBehavior)

Инициализирует новый экземпляр класса Timeline с указанными свойствами BeginTime, Duration и RepeatBehavior.

Поля

AccelerationRatioProperty

Идентифицирует свойство зависимостей AccelerationRatio.

AutoReverseProperty

Идентифицирует свойство зависимостей AutoReverse.

BeginTimeProperty

Идентифицирует свойство зависимостей BeginTime.

DecelerationRatioProperty

Идентифицирует свойство зависимостей DecelerationRatio.

DesiredFrameRateProperty

Идентифицирует присоединенное свойство DesiredFrameRate.

DurationProperty

Идентифицирует свойство зависимостей Duration.

FillBehaviorProperty

Идентифицирует свойство зависимостей FillBehavior.

NameProperty

Идентифицирует свойство зависимостей Name.

RepeatBehaviorProperty

Идентифицирует свойство зависимостей RepeatBehavior.

SpeedRatioProperty

Идентифицирует свойство зависимостей SpeedRatio.

Свойства

AccelerationRatio

Получает или задает значение, указывающее процент значения свойства Duration временной шкалы, за который выполняется ускорение времени от нулевой до максимальной скорости.

AutoReverse

Получает или задает значение, указывающее, воспроизводится ли временная шкала в обратном направлении после завершения прямой итерации.

BeginTime

Получает или задает время начала Timeline.

CanFreeze

Возвращает значение, которое указывает, можно ли сделать объект неизменяемым.

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

Получает или задает значение, указывающее процент значения свойства Duration временной шкалы, за который выполняется замедление течения времени от максимальной скорости до нуля.

DependencyObjectType

Возвращает объект DependencyObjectType , который заключает в оболочку тип среды CLR этого экземпляра.

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

Возвращает объект Dispatcher, с которым связан этот объект DispatcherObject.

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

Получает или задает продолжительность воспроизведения шкалы времени без учета повторов.

FillBehavior

Получает или задает значение, указывающее, как Timeline ведет себя по достижении конца активного периода.

HasAnimatedProperties

Возвращает значение, которое указывает, сопоставлены ли один или несколько объектов AnimationClock любому из свойств зависимостей этого объекта.

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

Получает значение, указывающее, доступен ли объект для изменения в настоящее время.

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

Получает значение, указывающее, является ли этот экземпляр в данный момент запечатанным (доступным только для чтения).

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

Получает или задает имя данного объекта Timeline.

RepeatBehavior

Получает или задает поведение этой временной шкалы при повторе.

SpeedRatio

Получает или задает скорость течения времени этого объекта Timeline относительно родительского объекта.

Присоединенные свойства

DesiredFrameRate

Получает или задает нужную частоту кадров для шкалы времени и ее дочерних шкал времени.

Методы

AllocateClock()

Создает Clock для этого элемента управления Timeline.

ApplyAnimationClock(DependencyProperty, AnimationClock)

Применяет AnimationClock к заданному DependencyProperty. Если свойство уже анимировано, используется эстафетное поведение SnapshotAndReplace.

(Унаследовано от Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

Применяет AnimationClock к заданному DependencyProperty. Если свойство уже является анимированным, используется указанное поведение HandoffBehavior.

(Унаследовано от Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

Применяет анимацию к указанному DependencyProperty. Анимация начинается при отрисовке следующего кадра. Если указанное свойство уже анимировано, используется поведение перемещения SnapshotAndReplace.

(Унаследовано от Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Применяет анимацию к указанному DependencyProperty. Анимация начинается при отрисовке следующего кадра. Если указанное свойство уже является анимированным, используется указанное поведение HandoffBehavior.

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

Определяет, имеет ли вызывающий поток доступ к этому DispatcherObject.

(Унаследовано от DispatcherObject)
ClearValue(DependencyProperty)

Очищает локальное значение свойства. Очищаемое свойство задается идентификатором DependencyProperty.

(Унаследовано от DependencyObject)
ClearValue(DependencyPropertyKey)

Очищает локальное значение доступного только для чтения свойства. Очищаемое свойство задается ключом DependencyPropertyKey.

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

Создает изменяемый клон данного объекта Timeline, делая глубокие копии значений этого объекта.

CloneCore(Freezable)

Делает экземпляр клоном (глубокой копией) указанного объекта Freezable, используя базовые (без анимации) значения свойств.

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

Создает модифицируемый клон данного объекта Timeline, делая глубокие копии текущих значений этого объекта.

CloneCurrentValueCore(Freezable)

Делает экземпляр изменяемым клоном (глубокой копией) указанного объекта Freezable с использованием текущих значений свойств.

(Унаследовано от Freezable)
CoerceValue(DependencyProperty)

Приводит значение указанного свойства зависимостей. Это осуществляется путем вызова какой-либо функции CoerceValueCallback, указанной в метаданных свойства зависимостей, которое существует в вызывающем объекте DependencyObject.

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

Создает новый, управляемый Clock из данного объекта Timeline. Если данный объект Timeline имеет дочерние элементы, создается дерево таймеров с этим объектом Timeline в качестве корня.

CreateClock(Boolean)

Создает новый объект Clock на основе этого объекта Timeline и определяет, является ли новый объект Clock управляемым. Если данный объект Timeline имеет дочерние элементы, создается дерево таймеров с этим объектом Timeline в качестве корня.

CreateInstance()

Инициализирует новый экземпляр класса Freezable.

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

Если реализуется в производном классе, создает новый экземпляр производного класса Freezable.

(Унаследовано от Freezable)
Equals(Object)

Определяет, является ли указанный DependencyObject эквивалентом текущего DependencyObject.

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

Делает текущий объект неизменяемым и присваивает его свойству IsFrozen значение true.

(Унаследовано от Freezable)
FreezeCore(Boolean)

Делает данный объект Timeline неизменяемым или определяет, может ли он быть сделан неизменяемым.

GetAnimationBaseValue(DependencyProperty)

Возвращает не анимированное значение указанного объекта DependencyProperty.

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

Создает фиксированную копию объекта Freezable, используя базовые (не анимационные) значения свойств. Так как копия является фиксированной, копируются только ссылки на фиксированные вложенные объекты.

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

Делает этот экземпляр клоном указанного объекта Timeline.

GetCurrentValueAsFrozen()

Создает фиксированную копию объекта Freezable с использованием текущих значений свойств. Так как копия является фиксированной, копируются только ссылки на фиксированные вложенные объекты.

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

Делает этот экземпляр зафиксированным клоном указанного объекта Timeline. Ссылки на ресурсы, привязки данных и анимации не копируются, но копируются их текущие значения.

GetDesiredFrameRate(Timeline)

Возвращает нужную частоту кадров заданного объекта Timeline.

GetHashCode()

Возвращает хэш-код для данного объекта DependencyObject.

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

Создает специализированный перечислитель для определения свойств зависимостей, которые локально установили значения для данного DependencyObject.

(Унаследовано от DependencyObject)
GetNaturalDuration(Clock)

Возвращает продолжительность отдельной итерации этого объекта Timeline.

GetNaturalDurationCore(Clock)

Возвращает продолжительность отдельной итерации этого объекта Timeline. Этот метод обеспечивает реализацию для объекта GetNaturalDuration(Clock).

GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
GetValue(DependencyProperty)

Возвращает текущее действующее значение свойства зависимостей в этом экземпляре DependencyObject.

(Унаследовано от DependencyObject)
InvalidateProperty(DependencyProperty)

Повторно вычисляет действующее значение для указанного свойства зависимостей.

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

Создает неполную копию текущего объекта Object.

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

Вызывается при изменении текущего объекта Freezable.

(Унаследовано от Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Обеспечивает создание соответствующих указателей контекста для элемента данных типа DependencyObjectType, который был только что задан.

(Унаследовано от Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Этот элемент поддерживает инфраструктуру Windows Presentation Foundation (WPF) и не предназначен для использования непосредственно из кода.

(Унаследовано от Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Переопределяет реализацию DependencyObject для OnPropertyChanged(DependencyPropertyChangedEventArgs), чтобы также вызвать любой обработчик Changed в ответ на изменение свойства зависимостей типа Freezable.

(Унаследовано от Freezable)
ReadLocalValue(DependencyProperty)

Возвращает локальное значение свойства зависимостей, если таковое существует.

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

Обеспечивает доступ к Freezable из допустимого потока. Наследники объекта Freezable должны вызывать данный метод в начале любого API, который считывает элементы данных, не являющиеся свойствами зависимостей.

(Унаследовано от Freezable)
SetCurrentValue(DependencyProperty, Object)

Задает значение свойства зависимостей, не меняя источник значения.

(Унаследовано от DependencyObject)
SetDesiredFrameRate(Timeline, Nullable<Int32>)

Задает нужную частоту кадров заданного объекта Timeline.

SetValue(DependencyProperty, Object)

Задает локальное значение свойства зависимостей, указанного идентификатором этого свойства.

(Унаследовано от DependencyObject)
SetValue(DependencyPropertyKey, Object)

Задает локальное значение свойства зависимости только для чтения, определяемое идентификатором DependencyPropertyKey свойства зависимостей.

(Унаследовано от DependencyObject)
ShouldSerializeProperty(DependencyProperty)

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

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

Возвращает строку, представляющую текущий объект.

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

Обеспечивает наличие у вызывающего потока доступ к этому DispatcherObject.

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

Вызывает событие Changed для объекта Freezable и вызывает его метод OnChanged(). Классы, производные от Freezable, должны вызывать этот метод в конце любого API, который изменяет члены класса, не сохраненные в виде свойств зависимостей.

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

Проверяет, что объект Freezable не заморожен и доступ к нему осуществляется из допустимого контекста потока. Наследники объекта Freezable должны вызывать данный метод в начале любого API, который выполняет запись в элементах данных, не являющихся свойствами зависимостей.

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

События

Changed

Происходит, когда изменяется класс Freezable или объект, который входит в его состав.

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

Происходит, когда воспроизведение шкалы времени полностью завершено: шкала времени больше не входит в активный период.

CurrentGlobalSpeedInvalidated

Происходит при изменении скорости течения времени для часов шкалы времени.

CurrentStateInvalidated

Происходит при обновлении свойства CurrentState объекта Clock временной шкалы.

CurrentTimeInvalidated

Происходит при обновлении свойства CurrentTime объекта Clock временной шкалы.

RemoveRequested

Происходит при удалении часов, созданных для этой шкалы времени или одной из ее родительских шкал времени.

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

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