我想在控件的 Loaded 事件上执行许多动画:
<EventTrigger RoutedEvent="Button.Loaded">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation ...
<DoubleAnimation ...
<DoubleAnimation ...
我想做的是并行执行前两个(这似乎是默认行为),并在它们完成后执行最后一个。 这是否可能,如果可能,如何?
混合"交互性"DLL 支持此方案。 在第一个情节提要上设置情节提要已完成触发器,在第二个情节提要上设置控制情节提要操作。 例如(请注意,这需要引用System.Windows.Interactivity.dll和Microsoft.Expression.Interactions.dll):
<Grid x:Name="LayoutRoot"
xmlns:em="clr-namespace:Microsoft.Expression.Interactivity.Media;assembly=Microsoft.Expression.Interactions"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
>
<Grid.Resources>
<Storyboard x:Name="FirstStoryboard">
<DoubleAnimation ...
<DoubleAnimation ...
</Storyboard>
<Storyboard x:Name="SecondStoryboard">
<DoubleAnimation ...
</Storyboard>
</Grid.Resources>
<i:Interaction.Triggers>
<i:EventTrigger EventName="Loaded">
<em:ControlStoryboardAction Storyboard="{StaticResource FirstStoryboard}" />
</i:EventTrigger>
<em:StoryboardCompletedTrigger Storyboard="{StaticResource FirstStoryboard}">
<em:ControlStoryboardAction Storyboard="{StaticResource SecondStoryboard}" />
</em:StoryboardCompletedTrigger>
</i:Interaction.Triggers>
</Grid>