考虑以下示例(取自MSDN示例)
<Style TargetType="Rectangle">
<Style.Triggers>
<EventTrigger RoutedEvent="MouseEnter">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation To="300" Duration="0:0:1.5"
AccelerationRatio="0.10" DecelerationRatio="0.25"
Storyboard.TargetProperty="(Canvas.Width)" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="MouseLeave">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Duration="0:0:1.5"
AccelerationRatio="0.10" DecelerationRatio="0.25"
Storyboard.TargetProperty="(Canvas.Width)" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>有两个动画,一个用于MouseEnter事件,另一个用于鼠标离开事件。
请注意,在鼠标离开事件的动画中,仅指定了持续时间。未指定From/To.By。必须指定DoubleAnimation中指定的From/To/By之一的备注部分。我的问题是这个动画是如何工作的?是否考虑将矩形的原始值作为动画的To值。
发布于 2013-05-29 11:12:58
它是通过转换回默认值来工作的。您引用的表格仅指定了使用from/ to /by的各种组合时的行为。
每个故事板都是独立的,所以它们不会跟踪另一个故事板做了什么,所以第一个会转换到定义的宽度,第二个会转换回原始值。
https://stackoverflow.com/questions/16804828
复制相似问题