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