手把手教你 用 wpf 制作metro ProgressRing 原创Word格式文档下载.docx
《手把手教你 用 wpf 制作metro ProgressRing 原创Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《手把手教你 用 wpf 制作metro ProgressRing 原创Word格式文档下载.docx(16页珍藏版)》请在冰点文库上搜索。
<
LinearDoubleKeyFrame
Value="
0"
KeyTime="
0:
/>
4.
EasingDoubleKeyFrame
90"
0.2"
5.
/EasingDoubleKeyFrame>
6.
270"
1.6"
7.
8.
450"
1.8"
9.
10.
630"
3.2"
11.
720"
3.4"
12.
13.
5.0"
14.
15.
/DoubleAnimationUsingKeyFrames>
DoubleAnimationUsingKeyFramesStoryboard.TargetProperty="
<
LinearDoubleKeyFrameValue="
KeyTime="
EasingDoubleKeyFrameValue="
上面这一段是单个ellipse的运动轨迹,当然你需要在属性中设置他的中心点值
代码如下:
Ellipse
x:
Name="
el"
Width="
10"
Height="
Fill="
White"
Canvas.Left="
73"
Canvas.Top="
57"
Ellipse.RenderTransform>
TransformGroup>
ScaleTransform/>
SkewTransform/>
RotateTransform
CenterX="
-20"
CenterY="
-40"
TranslateTransform/>
/TransformGroup>
/Ellipse.RenderTransform>
/Ellipse>
Ellipsex:
Width="
Height="
Fill="
Canvas.Left="
Canvas.Top="
>
RotateTransformCenterX="
CenterY="
接下来的事情就好办了,我们需要他转1圈就消失结束后也消失,所以需要控制透明度,
Opacity"
1"
EasingDoubleKeyFrame.EasingFunction>
BackEase
EasingMode="
EaseInOut"
/EasingDoubleKeyFrame.EasingFunction>
3.5"
16.
EaseOut"
17.
18.
19.
20.
21.
BackEaseEasingMode="
最终把一个圆变成多个圆的工作就交给代码了,需要一点点小技巧以下使用.net4.5实现其他版本可以吧Task.Delay替换成Thread.Sleep
UserControl
xmlns="
xmlns:
x="
mc="
http:
//schemas.openxmlformats.org/markup-compatibility/2006"
d="
i="
local="
clr-namespace:
Transvalue.MetroStyleBusyIndicator"
Class="
Transvalue.MetroStyleBusyIndicator.MetroRotaionIndicator"
mc:
Ignorable="
d"
d:
DesignHeight="
300"
DesignWidth="
UserControl.Resources>
Storyboard
Key="
Trans"
RepeatBehavior="
Forever"
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
/Storyboard>
50.
/UserControl.Resources>
51.
Canvas>
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
el2"
Opacity="
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
el3"
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
el4"