MSDN Library
信息
您所需的主题如下所示。但此主题未包含在此库中。

Duration 结构

2013/12/13

表示 Timeline 处于活动状态的持续时间。

Namespace:  System.Windows
程序集:  System.Windows(位于 System.Windows.dll 中)
XMLNS for XAML: 未映射到 xmlns。

public struct Duration
<object property="[days.]hours:minutes:seconds[.fractionalSeconds]"/>
-or-
<object property="Automatic" .../>
-or-
<object property="Forever" .../>

XAML 值

天数

一个大于或等于 0 的整数值,用于指定天数。

小时数

一个 0 到 23 之间的整数值,用于指定小时数。如果将 Duration 指定为 XAML 特性,即使为 0,也需要“小时”部分。

分钟

一个 0 到 59 之间的整数值,用于指定分钟数。如果仅设置“”部分,则将“小时:分钟”部分设置为 0:0。

一个 0 到 59 之间的整数值,用于指定秒数。如果仅设置“”部分,则将“小时:分钟”部分设置为 0:0。

秒的小数部分

可选项。一个包含 1 到 7 位小数的值,用来指定秒的小数部分。

Automatic

文本字符串 Automatic;请参见“备注”中的“Automatic 和 Forever”部分。

Forever

文本字符串 Forever;请参见“备注”中的“Automatic 和 Forever”部分。

  • 在该语法中,[] 表示可选值,[] 不是文本。:(冒号)和 .(句点)都是文本字符,分隔常见时间跨度的 h:m:s 字符串形式,或者分隔可选的秒的小数部分值。

Duration 类型公开以下成员。

  名称说明
公共方法Duration使用提供的 TimeSpan 值初始化 Duration 结构的新实例。
返回顶部

  名称说明
公共属性静态成员Automatic获取一个自动确定的 Duration 值。
公共属性静态成员Forever获取一个表示无限间隔的 Duration 值。
公共属性HasTimeSpan获取一个值,该值指示此 Duration 是否表示 TimeSpan 值。
公共属性TimeSpan获取此 Duration 表示的 TimeSpan 值。
返回顶部

  名称说明
公共方法Add将指定的 Duration 值加到此 Duration
公共方法静态成员Compare将一个 Duration 值与另一个值进行比较。
公共方法Equals(Duration)确定指定的 Duration 是否等于此 Duration
公共方法Equals(Object)确定指定的对象是否等于 Duration (重写 ValueType.Equals(Object)。)
公共方法静态成员Equals(Duration, Duration)确定两个 Duration 值是否相等。
受保护的方法Finalize允许 Object 在垃圾回收器回收该对象之前尝试释放资源并执行其他清理操作。 (从 Object 继承。)
公共方法GetHashCode获取此对象的哈希代码。 (重写 ValueType.GetHashCode()。)
公共方法GetType获取当前实例的 Type (从 Object 继承。)
受保护的方法MemberwiseClone创建当前 Object 的浅表副本。 (从 Object 继承。)
公共方法静态成员Plus将一个 Duration 加到此 Duration
公共方法Subtract从此 Duration 中减去指定的 Duration
公共方法ToStringDuration 转换为 String 表示形式。 (重写 ValueType.ToString()。)
返回顶部

  名称说明
公共运算符静态成员Addition将两个 Duration 值相加。
公共运算符静态成员Equality确定两个 Duration 实例是否相等。
公共运算符静态成员GreaterThan确定一个 Duration 是否大于另一个。
公共运算符静态成员GreaterThanOrEqual确定一个 Duration 是否大于等于另一个。
公共运算符静态成员Implicit(TimeSpan to Duration)依据给定的 TimeSpan 隐式创建 Duration
公共运算符静态成员Inequality确定两个 Duration 实例是否不相等。
公共运算符静态成员LessThan确定 Duration 是否小于另一个实例的值。
公共运算符静态成员LessThanOrEqual确定一个 Duration 是否小于等于另一个。
公共运算符静态成员Subtraction从一个 Duration 值中减去另一个这种类型的值。
公共运算符静态成员UnaryPlus返回指定的 Duration
返回顶部

仅通过一个整数而不带任何时间跨度文本字符(例如 :.)指定 Duration 将导致该天数的 Duration!预期结果很少如此。通常,您按秒指定动画持续时间。因此,Duration 字符串必须包括用于小时和分钟的前导 0,以及作为小时、分钟和秒之间的分隔符的相应文本 : 字符。例如,若要指定五秒的 DurationDuration 字符串将是 "0:0:5""0:0:05" 与之等效)。

可以对 Storyboard 或动画设置 Duration

Automatic 和 Forever

AutomaticForever 值用于存放 Duration 属性值的特殊含义,在 Windows Phone 的托管 API 中用静态属性 AutomaticForever 来表示。有关详细信息,请参见[3943b3fc-7b56-451f-831d-b52c161996f3]

在 XAML 或代码中应用的 Automatic 值将导致 Storyboard(与动画相对应)的不同行为。对于 StoryboardAutomatic 持续时间行为等同于其最近结束的子动画的结束时间,因此不会发生剪切任何子动画持续时间的情况。对于动画,Automatic 持续时间的时间跨度为 1 秒 (0:0:1)。通常所需的持续时间不会这么短,不过此默认值使您可以在测试期间看到动画启动。相对于动画从不运行(持续时间为 0 时将出现此情况),这可以提供更好的调试信息。

动画的 DurationForever 被否决,因而很少使用。值为 ForeverDuration 会导致无论为 From/To、关键帧等项指定了什么值,动画永远在起始值处停滞不前。如果希望连续重复动画,请使用 RepeatBehavior="Forever" 而非 Duration="Forever"

Duration 对于 XAML 不支持对象元素语法,您无法在 XAML 中将 Duration 声明为资源字典项。在 XAML 中,应始终在此处所示的特性语法中指定 Duration 类型的属性。

JavaScript API 说明

设置某个属性(如 Duration)并将其值指定为一个字符串时,只能通过类型转换语法在 Windows Phone 的 JavaScript API 中创建 Duration。一般采用与 TimeSpan 相同的格式指定该字符串。Duration 也可以采用文本值 AutomaticForever

在托管 API 中,可以使用构造函数创建 Duration

Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

此类型的所有公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

显示:
© 2016 Microsoft