silverlight 实现动画效果

来源:互联网 发布:淘宝h5页面用户 编辑:程序博客网 时间:2024/04/30 10:29

1)前台代码如下

<UserControl x:Class="SilverlightApplication44.MainPage"    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"    mc:Ignorable="d"    d:DesignHeight="300" d:DesignWidth="400">    <UserControl.Resources>        <!--改变Rectangle1的Width,Height以及SolidColorBrush1的Color-->        <Storyboard x:Name="Storyboard1" RepeatBehavior="Forever">            <DoubleAnimationUsingKeyFrames                 BeginTime="00:00:00"                 Storyboard.TargetName="Rectangle1"                 Storyboard.TargetProperty="Width">                <SplineDoubleKeyFrame KeyTime="00:00:02" Value="400"></SplineDoubleKeyFrame>                <SplineDoubleKeyFrame KeyTime="00:00:06" Value="200"></SplineDoubleKeyFrame>            </DoubleAnimationUsingKeyFrames>            <DoubleAnimationUsingKeyFrames                 BeginTime="00:00:00"                 Storyboard.TargetName="Rectangle1"                 Storyboard.TargetProperty="Height">                <SplineDoubleKeyFrame KeyTime="00:00:02" Value="400"></SplineDoubleKeyFrame>                <SplineDoubleKeyFrame KeyTime="00:00:06" Value="200"></SplineDoubleKeyFrame>            </DoubleAnimationUsingKeyFrames>            <ColorAnimation                 BeginTime="00:00:00"                Storyboard.TargetName="SolidColorBrush1"                Storyboard.TargetProperty="Color"                Duration="00:00:04"                From="Yellow"                To="Black"></ColorAnimation>        </Storyboard>    </UserControl.Resources>    <Grid x:Name="LayoutRoot" Background="White">        <StackPanel Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center">            <Rectangle Name="Rectangle1" Width="200" Height="200">                <Rectangle.Fill>                    <SolidColorBrush x:Name="SolidColorBrush1" Color="Yellow"></SolidColorBrush>                </Rectangle.Fill>            </Rectangle>            <StackPanel Orientation="Horizontal">                <Button Name="BeginButton" Content="Begin" Width="100" Height="24"></Button>                <Button Name="StopButton" Content="Stop" Width="100" Height="24"></Button>            </StackPanel>        </StackPanel>    </Grid></UserControl>

2)后台代码如下

using System;using System.Collections.Generic;using System.Linq;using System.Net;using System.Windows;using System.Windows.Controls;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Animation;using System.Windows.Shapes;namespace SilverlightApplication44{    public partial class MainPage : UserControl    {        public MainPage()        {            InitializeComponent();            Rectangle1.MouseEnter += new MouseEventHandler(Rectangle1_MouseEnter);            Rectangle1.MouseLeave += new MouseEventHandler(Rectangle1_MouseLeave);            BeginButton.Click += new RoutedEventHandler(BeginButton_Click);            StopButton.Click += new RoutedEventHandler(StopButton_Click);        }        /// <summary>        /// 继续        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        void Rectangle1_MouseLeave(object sender, MouseEventArgs e)        {            Storyboard1.Resume();        }        /// <summary>        /// 暂停        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        void Rectangle1_MouseEnter(object sender, MouseEventArgs e)        {            Storyboard1.Pause();        }        /// <summary>        /// 停止        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        void StopButton_Click(object sender, RoutedEventArgs e)        {            Storyboard1.Stop();        }        /// <summary>        /// 开始        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        void BeginButton_Click(object sender, RoutedEventArgs e)        {            Storyboard1.Begin();        }    }}

原创粉丝点击