一个 WPF 数字时钟





4.00/5 (12投票s)
一个 WPF 数字时钟,用于显示当前时间,使用 RibbonStyleHandler 进行样式设置
引言
本文介绍了一个使用 C# .Net 3.5 和 Windows Presentation Foundation (WPF) 编写的数字时钟,它有一个版本支持使用 Ribbon Control Library 中的 RibbonStyleHandler
进行样式设置(因此允许与 RibbonWindow
应用程序保持一致的样式)。
Using the Code
这非常简单,要创建一个新的时钟窗口,请创建一个新的 DigitalClockWindow
实例!要将控件添加到现有窗口,请使用 DigitalClockControl
。
关于代码
DigitalClock
类由 DigitalClockDots
和 DigitalClockElement
组成。 DigitalClockDots
类是一个 UIElement
,表示两个点,用于分隔小时、分钟和秒。 DigitalClockElement
表示以下状态:0、1、2、3、4、5、6、7、8 和 9。因此,DigitalClock
是一个 Grid
,包含 DigitalClockElement DigitalClockElement DigitalClockDots DigitalClockElement DigitalClockElement DigitalClockDots DigitalClockElement DigitalClockElement
。
当 AutoUpdate
设置为 true 时,DigitalClockControl
和 DigitalClockWindow
类包含一个用于更新时钟的线程,否则可以通过 DigitalClockControl
的 .CurrentTime
属性更新时钟。
DigitalClockControl
包含三个用于样式设置的属性:DigitBrush
,用于渲染数字(0 到 9)的 Brush
;DotBrush
,用于渲染分隔点的 Brush
;以及 ClockBackground
,时钟的背景。 DigitalClockDots
包含一个属性 RenderBrush
,用于设置用于渲染点的画刷。 DigitalClockElement
包含一个类似的属性 RenderBrush
,用于设置用于渲染图形组件的画刷。 此外,它还包含一个 Value 属性,用于设置要显示的值(范围为 0 到 9)。
Ribbon 样式时钟
在 1.0.0.1 版本中,添加了 RibbonClockControl
和 RibbonClockWindow
,它们分别继承自 DigitalClockControl
和 DigitalControlWindow
; 它们添加了基于 RibbonStyleChanged
事件的自动样式设置,并且可以在 CIRIP 项目(计算智能铁路干预规划器)中使用。
参考文献
ribboncontrol.aspx - 用于样式设置的 Ribbon Control 库。
历史
版本 1.0.0.0
- 初始构建
版本 1.0.0.1
- 将 Ribbon 样式从时钟分离。
版本 1.0.0.1
- 添加了 AutoUpdate
和 CurrentTime
属性,以允许显示自定义时间
版本 1.0.0.1
- 添加了具有 Ribbon 样式的 RibbonClockControl
和 Window
版本 1.0.0.1
- 重构控件以允许调整大小
版本 1.0.0.1
- 将时钟从 Window
更改为 UserControl
并添加了 DigitalClockWindow
版本 1.0.0.1
- 修复了更新线程保持进程运行的错误