一起学Windows phone7开发(五.一个时钟的例子)

Express blend工具是开发silverlight Ui的重要工具,在这里有一个从silverlight移植过来的时钟小例子可以看出在Phone7上这个工具一样也很重要并且可以提高开发效率。

一.在blend工具中,可以用Ellipse绘制表盘,通过在property中使用渐变色来产生立体效果。还可以能过gradient工具来调整渐变色。




二.用Ellipse工具绘制表针轴,并设置圆的strokethickness来改变线的粗细。


三.用Rectangle工具来绘制三个表针,并放好位置。


四.增加动画效果

<Storyboard x:Name="clockStoryboard">

 

            <!-- This animation targets the hour hand transform -->

            <DoubleAnimation x:Name="hourAnimation"

      Storyboard.TargetName="HourHandTransform"

      Storyboard.TargetProperty="Angle"

      Duration="12:0:0" RepeatBehavior="Forever" To="360" />

 

            <!-- This animation targets the minute hand transform -->

            <DoubleAnimation x:Name="minuteAnimation"

      Storyboard.TargetName="MinuteHandTransform"

      Storyboard.TargetProperty="Angle"

      Duration="1:0:0" RepeatBehavior="Forever" To="360" />

 

            <!-- This animation targets the second hand transform -->

            <DoubleAnimation x:Name="secondAnimation"

      Storyboard.TargetName="SecondHandTransform"

      Storyboard.TargetProperty="Angle"

      Duration="0:1:0" RepeatBehavior="Forever" To="360" />

        </Storyboard>

 

这时运行一下,已经可以看到表针在走了。

 

五.控制表针行为语句

void MainPage_Loaded(object sender, RoutedEventArgs e)

        {

            // The current date and time.

            System.DateTime currentDate = DateTime.Now;

 

            // Find the appropriate angle (in degrees) for the hour hand

            // based on the current time.

            double hourangle = (((float)currentDate.Hour) / 12) * 360 + currentDate.Minute / 2;

 

 

            // The same as for the minute angle.

            double minangle = (((float)currentDate.Minute) / 60) * 360;

 

            // The same for the second angle.

            double secangle = (((float)currentDate.Second) / 60) * 360;

 

            // Set the beginning of the animation (From property) to the angle

            // corresponging to the current time.

            hourAnimation.From = hourangle;

 

            // Set the end of the animation (To property)to the angle

            // corresponding to the current time PLUS 360 degrees. Thus, the

            // animation will end after the clock hand moves around the clock

            // once. Note: The RepeatBehavior property of the animation is set

            // to "Forever" so the animation will begin again as soon as it completes.

            hourAnimation.To = hourangle + 360;

 

            // Same as with the hour animation.

            minuteAnimation.From = minangle;

            minuteAnimation.To = minangle + 360;

 

            // Same as with the hour animation.

            secondAnimation.From = secangle;

            secondAnimation.To = secangle + 360;

 

            this.clockStoryboard.Begin();

        }

 


内容概要:本文详细介绍了基于FPGA的144输出通道可切换电压源系统的设计与实现,涵盖系统总体架构、FPGA硬件设计、上位机软件设计以及系统集成方案。系统由上位机控制软件(PC端)、FPGA控制核心和高压输出模块(144通道)三部分组成。FPGA硬件设计部分详细描述了Verilog代码实现,包括PWM生成模块、UART通信模块和温度监控模块。硬件设计说明中提及了FPGA选型、PWM生成方式、通信接口、高压输出模块和保护电路的设计要点。上位机软件采用Python编写,实现了设备连接、命令发送、序列控制等功能,并提供了一个图形用户界面(GUI)用于方便的操作和配置。 适合人群:具备一定硬件设计和编程基础的电子工程师、FPGA开发者及科研人员。 使用场景及目标:①适用于需要精确控制多通道电压输出的实验环境或工业应用场景;②帮助用户理解和掌握FPGA在复杂控制系统中的应用,包括PWM控制、UART通信及多通道信号处理;③为研究人员提供一个可扩展的平台,用于测试和验证不同的电压源控制算法和策略。 阅读建议:由于涉及硬件和软件两方面的内容,建议读者先熟悉FPGA基础知识和Verilog语言,同时具备一定的Python编程经验。在阅读过程中,应结合硬件电路图和代码注释,逐步理解系统的各个组成部分及其相互关系。此外,实际动手搭建和调试该系统将有助于加深对整个设计的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值