设为首页 收藏本站
查看: 942|回复: 0

Windows Phone 7 时钟实例编程

[复制链接]

尚未签到

发表于 2015-5-8 11:34:29 | 显示全部楼层 |阅读模式
DSC0000.jpg
  实例中Silverlight相关控件的介绍:
  1、DoubleAnimation    在指定的 Duration 内使用线性内插对两个目标值之间的 Double 值进行动画处理。
  (1)XAML 语法

(2)说明
  动画在一段时间内更新属性值。动画的效果可能十分微小,例如将 Shape 对象左右移动几个像素;也可能十分显著,例如将对象放
  大到其原始大小的 200 倍,同时对其进行旋转并更改其颜色。若要创建动画,请将动画与对象的属性值关联。
  DoubleAnimation 对象可创建两个目标值之间的过渡。若要设置目标值,请使用对象的 From、To 和 By 属性。下表概括了如何将
  From、To 和 By 属性一起使用或单独使用来确定动画的目标值。
  (3)属性
  名称                                                                         说明
AutoReverse          获取或设置一个值,该值指示时间线在完成向前迭代后是否按相反的顺序播放。 (继承自 Timeline。)
BeginTime              获取或设置此 Timeline 将要开始的时间。 (继承自 Timeline。)
By                         获取或设置动画更改其起始值时所依据的总量。
Dispatcher              获取与此对象关联的 Dispatcher。 (继承自 DependencyObject。)
Duration                 获取或设置此时间线播放的时间长度,而不是计数重复。 (继承自 Timeline。)
FillBehavior              获取或设置一个值,该值指定动画在活动周期结束后的行为方式。 (继承自 Timeline。)
From                       获取或设置动画的起始值。
RepeatBehavior        获取或设置此时间线的重复行为。 (继承自 Timeline。)
SpeedRatio              获取或设置此 Timeline 的时间相对于其父级的前进速率。 (继承自 Timeline。)
To                          获取或设置动画的结束值。
  2、Storyboard    通过时间线控制动画,并为其子动画提供对象和属性目标信息。
  (1)XAML 语法

    oneOrMoreChildTimelines

  (2)说明
  在对象加载或要启动、暂停、继续和停止动画时,可以使用 Storyboard 对象的交互式方法来自动启动演示图板。
  Storyboard 是 Resources 属性唯一支持的资源类型。
  (3)属性
  名称                                                   说明
AutoReverse    获取或设置一个值,该值指示时间线在完成向前迭代后是否按相反的顺序播放。 (继承自 Timeline。)
BeginTime      获取或设置此 Timeline 将要开始的时间。 (继承自 Timeline。)
Children      获取子 Timeline 对象的集合。  
Dispatcher    获取与此对象关联的 Dispatcher。 (继承自 DependencyObject。)
Duration      获取或设置此时间线播放的时间长度,而不是计数重复。 (继承自 Timeline。)
FillBehavior   获取或设置一个值,该值指定动画在活动周期结束后的行为方式。 (继承自 Timeline。)
RepeatBehavior      获取或设置此时间线的重复行为。 (继承自 Timeline。)
SpeedRatio    获取或设置此 Timeline 的时间相对于其父级的前进速率。 (继承自 Timeline。)
  附加属性
   名称                        说明
TargetName         获取或设置要进行动画处理的对象的名称。  
TargetProperty      获取或设置应进行动画处理的属性的名称。
  3、Rectangle属性RenderTransform    获取 UIElement 的最终呈现大小。 (继承自 UIElement。)
  4、RotateTransform    在二维 x-y 坐标系内围绕指定点顺时针旋转对象。
  RotateTransform 对象由以下属性定义:Angle 围绕点 CenterX,CenterY 将对象旋转指定的角度。
  在使用 RotateTransform 时,变换将围绕点 (0,0) 旋转某个特定对象的坐标系。因此,根据对象的位置,对象可能不会就地(围绕其中心)旋转。例如,如果对象位于 x 轴上距 0 点 200 个单位的位置,则旋转 30 度可以让该对象沿着以原点为圆心、半径为 200 的圆摆动 30 度。若要就地旋转对象,请将 RotateTransform 的 CenterX 和 CenterY 值设置为对象的旋转中心。
  可以使用 Canvas.Left 和 Canvas.Top 属性在 Canvas 上偏移对象的本地 (0,0) 位置,但不会将此视为变换;如果是变换,在这种情况下该对象会保留在它自己的本地 (0,0) 位置。
  实例源代码
  MainPage.xaml


DSC0001.gif DSC0002.gif View Code




   
   
        
            
            
        
        
        
            
        
        
        
            
               
               
               
                    
                        
                           
                           
                           
                        
                    
                    
                    
                        
                           
                                
                           
                        
                    
                    
                    
                        
                           
                                
                           
                        
                    
                    
                    
                        
                           
                                
                           
                        
                    
                    
               
            
        
   

  MainPage.xaml.cs


View Code



using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
namespace PedroLamas.WP7.AnalogClock
{
    public partial class MainPage : PhoneApplicationPage
    {
        public MainPage()
        {
            InitializeComponent();
        }
        private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
        {
            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 关联的那组动画
        }
    }
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-64952-1-1.html 上篇帖子: Windows Phone 7(WP7)开发 获取网络状态 下篇帖子: 【爆牙齿】微软的坟墓:Windows 7。(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表