wp8小钟表

前台代码加布局   

 <!--LayoutRoot 是包含所有页面内容的根网格-->
    <Grid x:Name="LayoutRoot" Background="Transparent">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

 

        <!--TitlePanel 包含应用程序的名称和页标题-->
        <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
            <TextBlock Text="Horologe" Style="{StaticResource PhoneTextNormalStyle}" Margin="12,0"/>
            <TextBlock Text="小钟表" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
        </StackPanel>

        <!--ContentPanel - 在此处放置其他内容-->
        <Grid x:Name="ContentGrid" Grid.Row="1">
            <Grid Width="400" Height="400">
                <Ellipse x:Name="ClockFaceEllipse" Stroke="Black" StrokeThickness="10">
                </Ellipse>
                <Image Source="images/1.png"/>
                <Canvas x:Name="ClockHandsCanvas">
                    <Canvas.Resources>
                        <Storyboard x:Name="ClockStoryboard">
                            <DoubleAnimation x:Name="HourAnimation"
                                             Storyboard.TargetName="HourHandTransform"
                                             Storyboard.TargetProperty ="Angle"
                                             Duration="12:0:0" RepeatBehavior="Forever" To="360" />
                            <DoubleAnimation x:Name="MinuteAnimation"
                                             Storyboard.TargetName="MinuteHandTransform"
                                             Storyboard.TargetProperty="Angle"
                                             Duration="1:0:0" RepeatBehavior="Forever" To="360" />
                            <DoubleAnimation x:Name="SecondAnimation"
                                             Storyboard.TargetName="SecondHandTransform"
                                             Storyboard.TargetProperty="Angle"
                                             Duration="0:1:0" RepeatBehavior="Forever" To="360" />
                        </Storyboard>
                    </Canvas.Resources>

                    <!--秒针-->
                    <Rectangle Width="4" Height="230" RadiusX="2" RadiusY="2" Canvas.Left="198" Canvas.Top="20" Fill="Red">
                        <Rectangle.RenderTransform>
                            <TransformGroup>
                                <RotateTransform CenterX="2" CenterY="180" x:Name="SecondHandTransform" />
                            </TransformGroup>
                        </Rectangle.RenderTransform>
                    </Rectangle>

                    <!--分针-->
                    <Rectangle Width="8" Height="145" RadiusX="3" RadiusY="3"  Canvas.Left="196" Canvas.Top="60" Fill="Blue">
                        <Rectangle.RenderTransform>
                            <TransformGroup>
                                <RotateTransform CenterX="4" CenterY="140" x:Name="MinuteHandTransform" />
                            </TransformGroup>
                        </Rectangle.RenderTransform>
                    </Rectangle>

                    <!--时针-->
                    <Rectangle Width="10" Height="105" RadiusX="5" RadiusY="5"  Canvas.Left="195" Canvas.Top="100" Fill="Black">
                        <Rectangle.RenderTransform>
                            <TransformGroup>
                                <RotateTransform CenterX="5" CenterY="100" x:Name="HourHandTransform" />
                            </TransformGroup>
                        </Rectangle.RenderTransform>
                    </Rectangle>
                    <Ellipse Width="10" Height="10"  Canvas.Left="195" Canvas.Top="195" />
                </Canvas>
            </Grid>
        </Grid>
        <Canvas HorizontalAlignment="Left" Height="100" Margin="555,211,-175,0" Grid.Row="1" VerticalAlignment="Top" Width="100"/>
    </Grid>
   后台代码

  public partial class MainPage : PhoneApplicationPage
    {
        // 构造函数
        public MainPage()
        {
            InitializeComponent();
            load();
        }
        public void load()
        {
            var now = DateTime.Now;
            //计算角度
            //时
            double hourAngle = ((float)now.Hour) / 12 * 360 + now.Minute / 2;
            //分
            double minuteAngle = ((float)now.Minute) / 60 * 360 + now.Second / 10;
            //秒
            double secondAngle = ((float)now.Second) / 60 * 360;

            HourAnimation.From = hourAngle;
            HourAnimation.To = hourAngle + 360;

            MinuteAnimation.From = minuteAngle;
            MinuteAnimation.To = minuteAngle + 360;

            SecondAnimation.From = secondAngle;
            SecondAnimation.To = secondAngle + 360;

            ClockStoryboard.Begin();//启动与此 Storyboard 关联的那组动画
        }
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值