KeyTime Structure
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Specifies when a particular key frame should take place during an animation.
Namespace: System.Windows.Media.Animation
Assembly: System.Windows (in System.Windows.dll)
Syntax
'Declaration
Public Structure KeyTime
public struct KeyTime
<object property="[days.]hours:minutes:seconds[.fractionalSeconds]"/>
XAML Values
days
Optional. An integer value greater than or equal to 0 that specifies the number of days.hours
Required, even if 0. An integer value between 0 and 23 that specifies the number of hours.minutes
Optional if only hours are desired, but needs to be at least set to 0 if you intend to set a seconds value. An integer value between 0 and 59 that specifies the number of minutes.seconds
Optional if only hours/minutes are desired. An integer value between 0 and 59 that specifies the number of seconds.fractionalSeconds
Optional. A value consisting of 1 to 7 digits of decimal precision that specifies fractional seconds.
The KeyTime type exposes the following members.
Properties
Name | Description | |
---|---|---|
TimeSpan | Gets the time when the key frame ends, expressed as a time relative to the beginning of the animation. | |
Type | Gets the KeyTimeType value this instance represents. | |
Uniform | Gets a uniform value, which divides the allotted time of the animation evenly between key frames. |
Top
Methods
Name | Description | |
---|---|---|
Equals(KeyTime) | Indicates whether a specified KeyTime is equal to this KeyTime. | |
Equals(Object) | Indicates whether a KeyTime is equal to this KeyTime. (Overrides ValueType.Equals(Object).) | |
Equals(KeyTime, KeyTime) | Indicates whether two KeyTime values are equal. | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.) | |
FromTimeSpan | Creates a new KeyTime, using the supplied TimeSpan. | |
GetHashCode | Returns a hash code representing this KeyTime. (Overrides ValueType.GetHashCode().) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
ToString | Returns a string representation of this KeyTime. (Overrides ValueType.ToString().) |
Top
Operators
Name | Description | |
---|---|---|
Equality | Compares two KeyTime values for equality. | |
Implicit(TimeSpan to KeyTime) | Implicitly converts a TimeSpan to a KeyTime. | |
Inequality | Compares two KeyTime values for inequality. |
Top
Remarks
Each key frame's KeyTime specifies when that key frame ends. It does not specify how long the key frame plays. The amount of time a key frame plays is determined by when the key frame ends, when the previous key frame ended, and the animation's duration. See Key-Frame Animations for more information.
In WPF, a KeyTime can be specified using several formats, including a uniform or paced key system. In Silverlight 5, a KeyTime can only specify a TimeSpan.
Specifying a KeyTime by only an integer without any time span literal characters such as : or . will result in a KeyTime of that number of days! This is seldom the intended result. Usually you specify time spans in seconds. As such, the KeyTime string must include preceding zero values for hours and minutes, along with the appropriate literal : characters as separators between hours, minutes, and seconds. For instance, to specify a KeyTime of five seconds, the KeyTime string would be 0:0:5 (0:0:05 is equivalent).
Object element usage in XAML is possible but has no practical usage. You cannot declare a KeyTime as a usable, shareable object in a ResourceDictionary.
JavaScript API Notes
Creating a KeyTime in the JavaScript API is only possible through a type conversion syntax when setting a property such as KeyTime that takes a KeyTime, with the value specified as a string interpreted by the same grammar as the XAML usage. In managed code, you can create a KeyTime using the constructors.
In the XAML usage, [] indicates optional values; the [] are not literals. The : (colon) and . (period) characters are both literals, and delimit the h:m:s string form of a common time span, or the optional days and fractionalSeconds values.
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.