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>) |
Инициализирует новый экземпляр класса 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() | |
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 значение |
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 |
Происходит при удалении часов, созданных для этой шкалы времени или одной из ее родительских шкал времени. |