0

我在风格的资源中定义了 BeginStoryboard 对象。

在相同的样式定义中,我想在 2 个触发动画的事件触发器中使用这个 BeginStoryboard 对象。

有可能 2 个不同的事件触发器将使用相同的对象,或者我必须定义 2 个不同的 BeginStoryboard 对象?

 <Style x:Key="SerialPoster" TargetType="Border">

        <Style.Resources>
            <BeginStoryboard x:Key="SerialPosterBeginStoryBoard">
                <Storyboard>
                    <DoubleAnimation Storyboard.TargetProperty="RenderTransform.Children[0].ScaleX"
                                     From="0"
                                     To="1"
                                     Duration="0:0:2"
                                     AccelerationRatio="1" />

                    <DoubleAnimation Storyboard.TargetProperty="RenderTransform.Children[0].ScaleY"
                                     From="0"
                                     To="1"
                                     Duration="0:0:2"
                                     AccelerationRatio="1" />

                    <DoubleAnimation Storyboard.TargetProperty="RenderTransform.Children[1].Angle"
                                     From="70"
                                     To="0"
                                     Duration="0:0:2" />
                </Storyboard>
            </BeginStoryboard>
        </Style.Resources>

        <!-- TriggerAction object must be associated with one and only one trigger object. -->
        <Style.Triggers>


            <EventTrigger RoutedEvent="Border.Loaded">
                <EventTrigger.Actions>
                    <StaticResource ResourceKey="SerialPosterBeginStoryBoard"/>
                </EventTrigger.Actions>
            </EventTrigger>


            <EventTrigger RoutedEvent="Border.MouseEnter">
                <EventTrigger.Actions>
                    <StaticResource ResourceKey="SerialPosterBeginStoryBoard" />
                </EventTrigger.Actions>
            </EventTrigger>

        </Style.Triggers>
    </Style>
4

1 回答 1

1

是的,可以引用资源,从而在不同的地方重用资源实例。

无需将 Storyboard 放在 Style.Resource 中,只需将其放在 Window 中即可。

于 2013-12-03T17:30:37.597 回答