前段时间写了一篇“制作简单的WPF时钟”,今天再制作了一个更漂亮的WPF时钟,目前仅完成了设计部分,准备将它制作成一个无边框窗体式的时钟。
效果图:
前次采用的是从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"等。