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