如何为Windows Phone制作动态ARC圈?

时间:2012-10-08 11:22:06

标签: c# windows-phone-7 xaml windows-8

我正在努力为XAMLC# Windows Phone 7.5 / Windows 8轻松定制动态ARC圈。

让我们想象一下:我基本上需要一个圆圈然后我需要根据参数切出一个零件。因此,假设100%是完整的圆圈,50%是半圆等等。

我找到了example,我想要的是完全相同的。

有人可以帮助我完成这项任务吗?

提前致谢!

2 个答案:

答案 0 :(得分:3)

尝试使用以下代码

<phone:PhoneApplicationPage.Resources>
    <Storyboard x:Name="StoryboardForArcAnimation">
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Arc.EndAngle)" Storyboard.TargetName="arcRed" RepeatBehavior="Forever" AutoReverse="False">
            <SplineDoubleKeyFrame KeyTime="0:1:0" Value="360" />
        </DoubleAnimationUsingKeyFrames>

    </Storyboard>
</phone:PhoneApplicationPage.Resources>


 <local:Arc x:Name="arcRed"
                   ArcThickness="60"
                   ArcThicknessUnit="Pixel"
                   Fill="Red"
                   Height="300"
                   Width="300"
                   StartAngle="0"
                   EndAngle="10"
                   />

在代码后面使用StoryboardForArcAnimation.Begin()来启动动画。

您必须添加对Microsoft.Expression.Drawing的引用并添加命名空间Microsoft.Expression.Drawing.Shapes(或Windows Phone 8的Microsoft.Expression.Controls)

答案 1 :(得分:1)

这是一个如何绘制它的示例。这是一个圆圈的1/4。

               <Path Opacity="0" Visibility="Visible" Fill="{StaticResource AwesomenessBrush}" StrokeThickness="0">
                <Path.Data>
                    <PathGeometry>
                        <PathFigure StartPoint="17 20">
                            <ArcSegment Point="20 17" Size="3 3" SweepDirection="Clockwise"/>
                            <LineSegment Point="20 19"/>
                            <ArcSegment Point="19 20" Size="1 1"/>
                            <LineSegment Point="17 20"/>
                        </PathFigure>
                    </PathGeometry>
                </Path.Data>
            </Path>

您可以从代码更改参数。