原文:制作WPF时钟之2

前段时间写了一篇“制作简单的WPF时钟”,今天再制作了一个更漂亮的WPF时钟,目前仅完成了设计部分,准备将它制作成一个无边框窗体式的时钟。

效果图:
制作WPF时钟之2-LMLPHP  

前次采用的是从Control控件继承,就是:public class Clock : Control,然后在Window中加入:<customControl:Clock... />标签的方式。

这次准备采用另一种方式,就是:Storyboard,这是因为Storyboard也有定时完成某些指定动作的功能。
比如:
  <Storyboard x:Key="clockHandStoryboard">
   <ParallelTimeline>
    <DoubleAnimation  Storyboard.TargetName="secondHandAngle" From="-8" To="352" Duration="00:01:00" RepeatBehavior="Forever" Storyboard.TargetProperty="Angle"/>
    <DoubleAnimation Storyboard.TargetName="hourHandAngle" From="-8" To="352" Duration="12:00:00" RepeatBehavior="Forever" Storyboard.TargetProperty="Angle" />
    <DoubleAnimation Storyboard.TargetName="minuteHandAnimation" From="-8" To="352" Duration="01:00:00" RepeatBehavior="Forever" 
        Storyboard.TargetProperty="Angle"
/>
   </ParallelTimeline>
  </Storyboard>

为了使窗体透明,无边框,还需要设置相关属性,如:AllowsTransparency="true"  Background="Transparent"   WindowStyle="None"等。

05-19 02:22