刚做了一个buffer效果,拿出来跟大家分享一下

Xaml
<Canvas Height="60.744" Width="60.744" Canvas.Left="238" Canvas.Top="155.5" x:Name="canvarBuffer" HorizontalAlignment="Center" VerticalAlignment="Center">
<Ellipse Height="60.744" Width="60.744" StrokeThickness="4" RenderTransformOrigin="0.5,0.5" HorizontalAlignment="Center" VerticalAlignment="Center">
<Ellipse.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="-88.76"/>
<TranslateTransform/>
</TransformGroup>
</Ellipse.RenderTransform>
<Ellipse.Stroke>
<LinearGradientBrush EndPoint="0.866999983787537,0.830999970436096" StartPoint="-0.0240000002086163,-0.136000007390976">
<GradientStop Color="#FF450D45" Offset="0.705"/>
<GradientStop Color="#FF8C8C8C" Offset="1"/>
<GradientStop Color="#FF8C8C8C" Offset="0.013000000268220902"/>
<GradientStop Color="#FF450D45" Offset="0.77700001001358032"/>
</LinearGradientBrush>
</Ellipse.Stroke>
</Ellipse>
<Grid Height="27.693" HorizontalAlignment="Center" Width="60.744" Canvas.Top="20.91">
<TextBlock Text="10%" TextWrapping="Wrap" FontSize="14" Foreground="#FF676767" x:Name="txtBuffer" HorizontalAlignment="Center" Opacity="1" />
</Grid>
<Ellipse Height="69.646" Width="69.646" RenderTransformOrigin="0.5,0.5" StrokeThickness="4" Canvas.Left="-4.556" Canvas.Top="-4.263" x:Name="ellipse">
<Ellipse.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="-90.104"/>
<TranslateTransform/>
</TransformGroup>
</Ellipse.RenderTransform>
<Ellipse.Stroke>
<LinearGradientBrush EndPoint="0.866999983787537,0.830999970436096" StartPoint="-0.0240000002086163,-0.136000007390976">
<GradientStop Color="#FFFFFFFF" Offset="0.662"/>
<GradientStop Color="#00000000" Offset="0.987"/>
<GradientStop Color="#00000000" Offset="0.196"/>
</LinearGradientBrush>
</Ellipse.Stroke>
</Ellipse>
</Canvas>
动画
<Storyboard x:Name="bufferStory" RepeatBehavior="forever">
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="ellipse" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[2].(RotateTransform.Angle)">
<SplineDoubleKeyFrame KeyTime="00:00:00" Value="-90.103996276855469"/>
<SplineDoubleKeyFrame KeyTime="00:00:01.6000000" Value="270"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
浙公网安备 33010602011771号