Storyboard.TargetProperty 附加属性

2013/12/13

获取或设置应进行动画处理的属性的名称。

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

See GetTargetProperty, SetTargetProperty
<object Storyboard.TargetProperty="simplePropertyName"/>
- or -
<object Storyboard.TargetProperty="propertyPath"/>

XAML 值

simplePropertyName

要进行动画处理的依赖项属性的名称。

propertyPath

一个更复杂的属性路径,用于通过间接动画支持对目标属性或附加属性进行动画处理。

属性值

类型: System.Windows.PropertyPath
要进行动画处理的属性。

依赖项属性标识符字段: TargetPropertyProperty

此属性是 Storyboard 特定的附加属性的示例,非 Storyboard 对象可设置此属性。

Storyboard.TargetProperty 的值必须引用由 Storyboard.TargetName 引用的元素的现有属性。有关更多信息,请参见 Windows Phone 动画、动作和输出的“创建演示图板”部分。

Storyboard.TargetProperty 支持间接属性目标的概念,并且使用属性路径语法来指定间接目标。当正在进行动画处理的属性的类型本身是一个对象,但实际进行动画处理的值为该对象的属性而不是对象类型本身时,将需要间接属性目标。如果要将子对象作为目标但标记无法提供名称,则尤其需要间接属性目标,这可能是因为它最初是以 XAML 特性形式指定的,而不是将其指定为 XAML 对象元素。例如,要使用 SolidColorBrush 的线性内插对 RectangleFill 进行动画处理,应指定 ColorAnimation,并为其提供 Storyboard.TargetProperty 值"(Rectangle.Fill).Color"。

使用属性路径的另一种情况是:将动画应用于已在运行时添加到集合的对象。在这种情况下,可以命名包含该集合的对象,然后使用属性路径语法循环访问特定索引。这样,您可以将某个动画指向没有名称但作为命名对象的子属性存在的对象。

尝试对正在运行的动画设置 Storyboard.TargetProperty 将导致运行时错误。不过,可以重新将已停止的或尚未运行的现有动画作为目标。如果您重新确定目标动画,通常要使用具有相同类型的目标或由于基对象定义而共享此属性的目标。如果您通过更改 Storyboard.TargetName 来重新确定目标动画,并且 Storyboard.TargetProperty 引用一个不支持的属性,将获得运行时错误。

您要作为目标的属性必须使用您正在应用的动画类型。例如,如果您要对 EllipseGeometry 的属性进行动画处理,则应使用 DoubleAnimation(或 DoubleAnimationUsingKeyFrames)对 RadiusXRadiusY 进行动画处理,并使用 PointAnimation(或 PointAnimationUsingKeyFrames)对 Center 进行动画处理。类型不匹配将导致分析器错误。这些类型必须为精确匹配;对于进行动画处理的属性,不存在隐式类型转换。例如,您无法通过 DoubleAnimation 对"(Canvas.ZIndex)"目标进行动画处理,因为 Canvas.ZIndex 采用整数,而不是双精度。

对于涉及集合的 propertyName 语法,集合不能为属性链中的最后一项,因为不能使用 DoubleColorPoint 动画类型直接对集合中包含的对象类型进行动画处理。必须使用来自集合中某个索引的对象的特定属性来终止属性链。

Windows Phone OS

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

Windows Phone

显示:
© 2014 Microsoft