如何放大和缩小动画

时间:2015-04-27 08:04:30

标签: c# xaml animation windows-phone-8

我有一组放在旋转控制中的图像。我希望将图像放大到特定点,然后通过animation回到正常大小。我可以这样做。任何帮助都将受到赞赏。

   <StackPanel>
        <StackPanel.Resources>
            <Storyboard x:Name="story">
                <DoubleAnimation Storyboard.TargetName="img"
                                 Storyboard.TargetProperty="Height"
                                From="300"
                                 To="600"

                                 Duration="0:0:2">

                </DoubleAnimation>

            </Storyboard>
        </StackPanel.Resources>
        <Button Height="100" Width="100" Click="Button_Click"></Button>  
        <Image x:Name="img"  Height="300" Width="200" Source="/Assets/10.png"></Image>
    </StackPanel>

2 个答案:

答案 0 :(得分:0)

如果我理解你的问题,那么你应该使用Storyboard,EventTrigger和ScaleX而不是高度来调整大小图像。

Storyboarded and trigger animations

这是加载事件的一个选项。 delete(datatip_handle)

答案 1 :(得分:0)

第一个提示: -

避免将Resources写入特定控件。而是将所有资源定义为<Page.Resources>

现在,如果要为某些控件设置动画,则必须使用元素的Scaling属性。

检查以下代码。在这里,我指出如何在任何事件处理程序上缩放图像。

XAML控制代码

            <Image x:Name="img" Source="/Assets/image1.png" RenderTransformOrigin="0.5 0.5" >
                <Image.RenderTransform>
                    <CompositeTransform x:Name="compositeTransform"  />
                </Image.RenderTransform>
            </Image>

定义Storyborad

<phone:PhoneApplicationPage.Resources>
    <Storyboard x:Name="story">
        <DoubleAnimation Storyboard.TargetName="compositeTransform"
                         Storyboard.TargetProperty="ScaleX"
                         From="0" To="5"
                         Duration="0:0:2" />

        <DoubleAnimation Storyboard.TargetName="compositeTransform"
                         Storyboard.TargetProperty="ScaleY"
                         From="0" To="5"
                         Duration="0:0:2" />
    </Storyboard>
</phone:PhoneApplicationPage.Resources>

在任何事件处理程序

        story.Begin();

希望有所帮助..