是否可以在故事板中获取动画以串行执行



我想在控件的 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>

最新更新