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 тип временной шкалы, которая создает выходные значения. При связывании анимации со свойством анимация обновляет значение свойства по мере воспроизведения, тем самым «анимируя» его. Общие сведения об анимации см. в разделе "Обзор анимации". Сведения о различных способах применения анимации см. в обзоре методов анимации свойств.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Имя Описание
Timeline()

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

Timeline(Nullable<TimeSpan>, Duration, RepeatBehavior)

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

Timeline(Nullable<TimeSpan>, Duration)

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

Timeline(Nullable<TimeSpan>)

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

Поля

Имя Описание
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, HandoffBehavior)

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

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

Применяется к указанному объекту AnimationClockDependencyProperty. Если свойство уже анимировано, SnapshotAndReplace используется поведение передачи.

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

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

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

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

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

Делает текущий объект неизменяемым и задает для свойства значение IsFrozentrue.

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

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

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

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

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

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

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

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