WP8.1上的Animation动画的API和WIN8/WIN8.1上的差不多,网上可以找到很多资料,同时可以去MSDN看官方文档。
下面是我参考一些资料,写出来的例子,希望以后有用。
xaml代码如下:
<Grid>
<StackPanel>
<StackPanel.Resources>
<!--DoubleAnimation-->
<Storyboard x:Name="showAnimation">
<DoubleAnimation Storyboard.TargetName="animatedImage"
Storyboard.TargetProperty="Opacity"
From="0"
To="1"
Duration="0:0:2"/>
</Storyboard>
<Storyboard x:Name="HideAnimation">
<DoubleAnimation Storyboard.TargetName="animatedImage"
Storyboard.TargetProperty="Opacity"
From="1"
To="0"
Duration="0:0:2"/>
</Storyboard>
<!--FadeTheAnimation-->
<Storyboard x:Name="fadeinAnimation">
<FadeInThemeAnimation Storyboard.TargetName="animatedrectangle"
FillBehavior="HoldEnd"
SpeedRatio="8"
Duration="0:0:4"/>
</Storyboard>
<Storyboard x:Name="fadeoutAnimation">
<FadeOutThemeAnimation Storyboard.TargetName="animatedrectangle"
SpeedRatio="0.1"
Duration="0:0:4"/>
</Storyboard>
<!--ColorAnimation-->
<Storyboard x:Name="coloranimation">
<ColorAnimation Storyboard.TargetName="animatedEllipse"
Storyboard.TargetProperty="(Ellipse.Fill).(SolidColorBrush.Color)"
From="Red"
To="Blue"
Duration="0:0:2"/>
</Storyboard>
<!--
PointerDownThemeAnimation - 鼠标(手指)在控件上按下时的动画
-->
<Storyboard x:Name="storyboardPointerDown">
<PointerDownThemeAnimation Storyboard.TargetName="border" />
</Storyboard> <!--
PointerUpThemeAnimation - 鼠标(手指)在控件上抬起时的动画
-->
<Storyboard x:Name="storyboardPointerUp">
<PointerUpThemeAnimation Storyboard.TargetName="border" />
</Storyboard> </StackPanel.Resources> <!--控件-->
<Button Name="show" Content="show" Width="80" Height="50" Click="show_Click"/>
<Button Name="hide" Content="hide" Width="80" Height="50" Click="hide_Click"/>
<Image Name="animatedImage"
Source="blue.png"
Opacity="0"
Width="100"
Height="100"
ImageOpened="animatedImage_ImageOpened"/>
<Rectangle Name="animatedrectangle" Fill="RosyBrown" Width="100" Height="100"/>
<Ellipse Name="animatedEllipse" Fill="Red" Width="100" Height="100"/>
<Border Name="border" BorderThickness="5" BorderBrush="Red" Background="Blue" CornerRadius="10" Width="400" Height="100" HorizontalAlignment="Left">
<Border.Child>
<TextBlock Text="我是 Border 里的内容" FontSize="24.667" TextAlignment="Center" VerticalAlignment="Center" />
</Border.Child>
</Border>
</StackPanel> </Grid>
当前页面的主要C#代码如下:
private void show_Click(object sender, RoutedEventArgs e)
{
showAnimation.Begin();
fadeinAnimation.Begin();
coloranimation.Begin();
storyboardPointerUp.Begin();
} private void hide_Click(object sender, RoutedEventArgs e)
{
HideAnimation.Begin(); fadeoutAnimation.Begin();
storyboardPointerDown.Begin();
} private void animatedImage_ImageOpened(object sender, RoutedEventArgs e)
{ }