Clock Класс

Определение

Обеспечивает расчет времени для объекта Timeline во время выполнения.

public ref class Clock : System::Windows::Threading::DispatcherObject
public class Clock : System.Windows.Threading.DispatcherObject
type Clock = class
    inherit DispatcherObject
Public Class Clock
Inherits DispatcherObject
Наследование
Производный

Комментарии

Само по себе не Timelineделает ничего, кроме описания сегмента времени. Это объект временной шкалы Clock , который выполняет реальную работу: он поддерживает состояние времени выполнения для временной шкалы.

В большинстве случаев часы создаются автоматически для временной шкалы. При анимации с помощью Storyboard BeginAnimation метода или метода часы автоматически создаются для временных шкал и анимаций и применяются к целевым свойствам. Примеры см. в статье "Практическое руководство. Анимация свойства с помощью раскадровки и практическое руководство. Анимация свойства без использования раскадровки".

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

Часы упорядочены в деревьях, которые соответствуют структуре Timeline дерева объектов, из которого они создаются. Корневые часы такого дерева времени можно интерактивно манипулировать (приостановлено, возобновлено, остановлено и т. д.), извлекая его Controller. Некореньные часы нельзя контролировать напрямую.

После создания часы нельзя изменить (но его можно манипулировать).

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

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

Примечания для тех, кто наследует этот метод

Производные классы должны реализовываться GetCurrentTimeCore() , если они хотят изменить способ потоков времени для этих часов. Производные классы могут выполнять дополнительную работу, когда часы повторяются, пропускают, ищут, начинаются, приостанавливаются, возобновляются или останавливаются путем переопределения DiscontinuousTimeMovement()SpeedChanged()методов и Stopped() методов.

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

Clock(Timeline)

Выполняет инициализацию нового экземпляра класса Clock с использованием указанного объекта Timeline в качестве шаблона. Новый объект Clock не имеет дочерних объектов.

Свойства

Controller

Возвращает объект ClockController, который можно использовать для запуска, приостановки, возобновления работы, поиска, пропуска, остановки или удаления этого объекта Clock.

CurrentGlobalSpeed

Получает текущую скорость хода часов по сравнению с реальным временем.

CurrentGlobalTime

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

CurrentIteration

Возвращает текущую итерацию часов.

CurrentProgress

Возвращает текущее положение объекта Clock в текущей итерации.

CurrentState

Получает значение, указывающее текущее состояние таймера: Active, Filling или Stopped.

CurrentTime

Возвращает текущее время часов в текущей итерации.

Dispatcher

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

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

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

IsPaused

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

NaturalDuration

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

Parent

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

Timeline

Возвращает объект Timeline, на основе которого был создан данный объект Clock.

Методы

CheckAccess()

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

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

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

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

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

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

GetCurrentTimeCore()

Возвращает текущее время часов в текущей итерации.

GetHashCode()

Служит хэш-функцией по умолчанию.

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

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

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

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

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

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

Stopped()

При реализации в производном классе вызывается при останове часов с использованием метода Stop().

ToString()

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

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

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

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

События

Completed

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

CurrentGlobalSpeedInvalidated

Происходит при обновлении скорости хода часов.

CurrentStateInvalidated

Происходит при обновлении свойства CurrentState часов.

CurrentTimeInvalidated

Происходит в момент, когда параметр CurrentTime часов становится недействительным.

RemoveRequested

Происходит при вызове метода Remove() в объекте Clock или одном из его родительских объектов.

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