1

我正在开发一个 Windows 手机游戏应用程序,我需要在某些事件上为多个按钮设置动画,比如 Page_loaded。我能做到的是

<Storyboard Storyboard.TargetName="scaButton" Storyboard.TargetProperty="Angle" >
            <DoubleAnimation Storyboard.TargetProperty="ScaleY" 
                     From="-1" To="1"                                                           
                     BeginTime="0:0:0"
                     Duration="0:0:0.5"
                     AutoReverse="False" />
        </Storyboard>

并且在 XAML 中的单个按钮中

<Button Height="100" Width="200" Margin="10,495,270,103" Content="{Binding Path=ListOfValues[0]}" RenderTransformOrigin="0.5,0.5" Click="Button_Click">
            <Button.RenderTransform>
               <ScaleTransform x:Name="scaButton" ScaleX="1" ScaleY="1" CenterX="50" CenterY="25" />
            </Button.RenderTransform>
        </Button>

但问题是我如何为多个按钮定义它。我希望所有按钮同时翻转动画。但是我该如何实现呢?

请帮忙。在 Windows Phone<Style.Triggers>中也不存在。

4

1 回答 1

2

您可以通过在 DoubleAnimation 中设置 TargetName 来完成此操作

<Grid.Resources>
    <Storyboard x:Name="FlipButtonStory">
        <DoubleAnimation Storyboard.TargetName="scaButton1"
                 Storyboard.TargetProperty="ScaleY" 
                 From="-1" To="1"                                                           
                 BeginTime="0:0:0"
                 Duration="0:0:0.5"
                 AutoReverse="False" />
        <DoubleAnimation Storyboard.TargetName="scaButton2"
                 Storyboard.TargetProperty="ScaleY" 
                 From="-1" To="1"                                                           
                 BeginTime="0:0:0"
                 Duration="0:0:0.5"
                 AutoReverse="False" />
        <DoubleAnimation Storyboard.TargetName="scaButton3"
                 Storyboard.TargetProperty="ScaleY" 
                 From="-1" To="1"                                                           
                 BeginTime="0:0:0"
                 Duration="0:0:0.5"
                 AutoReverse="False" />
    </Storyboard>
<Grid.Resouces>

您可以通过调用BeginStoryboard方法开始故事。

FlipButtonStory.BeginStoryboard();
于 2013-09-27T17:38:36.310 回答