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 или одном из его родительских объектов.

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