WPF 仿windows8加载动画
来源:互联网 发布:php保存到记事本 编辑:程序博客网 时间:2024/06/10 08:28
效果:
1,添加用户控件CustomCircularProgressBar.xaml
XAML代码:
<UserControl.Resources> <Storyboard x:Key="circularStoryboard" RepeatBehavior="Forever" > <DoubleAnimationUsingKeyFrames Storyboard.TargetName="grid1" BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)" > <SplineDoubleKeyFrame KeyTime="00:00:00.4" Value="300"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:01" Value="360"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:01.5" Value="420"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:01.9" Value="540"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:02.3" Value="660"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:02.9" Value="720"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:03.5" Value="780"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:03.9" Value="900"></SplineDoubleKeyFrame> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="grid2" BeginTime="00:00:00.13" Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)" > <SplineDoubleKeyFrame KeyTime="00:00:00.4" Value="300"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:01" Value="360"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:01.5" Value="420"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:01.9" Value="540"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:02.3" Value="660"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:02.9" Value="720"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:03.5" Value="780"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:03.9" Value="900"></SplineDoubleKeyFrame> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="grid3" BeginTime="00:00:00.26" Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)" > <SplineDoubleKeyFrame KeyTime="00:00:00.4" Value="300"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:01" Value="360"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:01.5" Value="420"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:01.9" Value="540"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:02.3" Value="660"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:02.9" Value="720"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:03.5" Value="780"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:03.9" Value="900"></SplineDoubleKeyFrame> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="grid4" BeginTime="00:00:00.39" Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)" > <SplineDoubleKeyFrame KeyTime="00:00:00.4" Value="300"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:01" Value="360"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:01.5" Value="420"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:01.9" Value="540"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:02.3" Value="660"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:02.9" Value="720"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:03.5" Value="780"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:03.9" Value="900"></SplineDoubleKeyFrame> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="grid5" BeginTime="00:00:00.52" Storyboard.TargetProperty="(UIElement.RenderTransform).(RotateTransform.Angle)" > <SplineDoubleKeyFrame KeyTime="00:00:00.4" Value="300"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:01" Value="360"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:01.5" Value="420"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:01.9" Value="540"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:02.3" Value="660"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:02.9" Value="720"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:03.5" Value="780"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:03.9" Value="900"></SplineDoubleKeyFrame> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="border" BeginTime="00:00:00.4" Storyboard.TargetProperty="Opacity" > <SplineDoubleKeyFrame KeyTime="00:00:00.1" Value="0"></SplineDoubleKeyFrame> </DoubleAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames Storyboard.TargetName="border" BeginTime="00:00:03.5" Storyboard.TargetProperty="Opacity" > <SplineDoubleKeyFrame KeyTime="00:00:00.1" Value="1"></SplineDoubleKeyFrame> <SplineDoubleKeyFrame KeyTime="00:00:00.6" Value="1"></SplineDoubleKeyFrame> </DoubleAnimationUsingKeyFrames> </Storyboard> </UserControl.Resources> <UserControl.Triggers> <EventTrigger RoutedEvent="UserControl.Loaded"> <BeginStoryboard Storyboard="{StaticResource circularStoryboard}" /> </EventTrigger> </UserControl.Triggers> <Grid Width="80" Height="80"> <Grid x:Name="grid1" Width="80" Height="80" RenderTransformOrigin="0.5,0.5"> <Grid.RenderTransform> <RotateTransform Angle="180"></RotateTransform> </Grid.RenderTransform> <Ellipse Width="6" Height="6" Fill="Black" HorizontalAlignment="Center" VerticalAlignment="Top"/> </Grid> <Grid x:Name="grid2" Width="80" Height="80" RenderTransformOrigin="0.5,0.5"> <Grid.RenderTransform> <RotateTransform Angle="180"></RotateTransform> </Grid.RenderTransform> <Ellipse Width="6" Height="6" Fill="Black" HorizontalAlignment="Center" VerticalAlignment="Top"/> </Grid> <Grid x:Name="grid3" Width="80" Height="80" RenderTransformOrigin="0.5,0.5"> <Grid.RenderTransform> <RotateTransform Angle="180"></RotateTransform> </Grid.RenderTransform> <Ellipse Width="6" Height="6" Fill="Black" HorizontalAlignment="Center" VerticalAlignment="Top"/> </Grid> <Grid x:Name="grid4" Width="80" Height="80" RenderTransformOrigin="0.5,0.5"> <Grid.RenderTransform> <RotateTransform Angle="180"></RotateTransform> </Grid.RenderTransform> <Ellipse Width="6" Height="6" Fill="Black" HorizontalAlignment="Center" VerticalAlignment="Top"/> </Grid> <Grid x:Name="grid5" Width="80" Height="80" RenderTransformOrigin="0.5,0.5"> <Grid.RenderTransform> <RotateTransform Angle="180"></RotateTransform> </Grid.RenderTransform> <Ellipse Width="6" Height="6" Fill="Black" HorizontalAlignment="Center" VerticalAlignment="Top"/> </Grid> <Border x:Name="border" Background="White" Width="8" Height="40" HorizontalAlignment="Center" VerticalAlignment="Bottom" Opacity="1" Margin="36,0,36,-2"></Border> </Grid>使用方法:
添加引用:xmlns:local="clr-namespace:XXXX"
<local:CustomCircularProgressBar VerticalAlignment="Center" HorizontalAlignment="Center"></local:CustomCircularProgressBar>
源码地址:http://download.csdn.net/detail/dongcidaci999/9184481
0 0
- WPF 仿windows8加载动画
- WPF 仿wp8加载动画效果
- wpf 二维码加载动画
- windows8 WinRT PointAnimationUsingPath(WPF 路径动画 PathAnimation 的移植)
- Android仿百度加载动画
- 高仿58加载动画
- 仿网易评论加载动画
- 仿雅虎视频加载动画
- wpf仿qq设置翻转动画
- 自定义动画(仿Win10加载动画)
- 仿58同城加载动画
- 【仿去哪儿】骆驼动画加载
- 仿58同城加载动画
- 实现仿windows正在加载loading动画
- 自定义加载等待动画,仿金山词霸
- 仿 Cuto 壁纸应用的加载动画
- Android仿“守望先锋”加载动画
- Android仿“守望先锋”加载动画
- 真正的AC自动机(二分 + 优先队列)
- 消息机制-倒计时
- Android背景渐变色(shape,gradient)
- 数据结构与算法--图
- 最小生成树--prime
- WPF 仿windows8加载动画
- 【C++】强制类型转换(static_cast,reinterpret_cast,const_cast,dynamic_cast,explicit)
- linux关于文件搜索命令
- hdu1116Play on Words
- JS 的数组 ARRAY
- Windows程序设计第五版——源代码001之HelloMsg.c
- led驱动编写并非使用led 子系统(实际led驱动编写)
- 最大的矩形(入门 dp)
- 最长公共子序列