如何在Windows Phone 8中为多个按钮设置动画

时间:2013-09-27 17:19:33

标签: c# button windows-phone-8

我正在开发一款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>

但问题是如何为多个按钮定义它。我希望所有的按钮都能同时flipAnimation。但是我该如何实现呢?

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

1 个答案:

答案 0 :(得分: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();