WPF自定义日期时间控件

  • 一、需求分析
  • 二、功能实现

一、需求分析

在工作中遇到的项目中,大部分软件是处于全屏运行状态,这时候就需要在软件的界面上加上日期时间那些,方便用户查看当前时间。

二、功能实现

这里的实现方法也很简单,大致就是自定义一个控件,然后加上文本框显示时间信息,然后后台通过一个定时器,定时去获取系统的时间,然在显示在文本框上。
1、创建自定义控件
给工程新建一个用户控件,然后添加上文本框,这里我添加了三个,分别对应年月日,星期,时间

<UserControl x:Class="ButtonDemo.Control.MyTime"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:ButtonDemo.Control"mc:Ignorable="d" d:DesignHeight="60" d:DesignWidth="500" Loaded="UserControl_Loaded"><Grid><StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center"><TextBlock x:Name="tbDate" Text="2021-09-22" Foreground="White" FontSize="26" FontWeight="Bold"/><TextBlock x:Name="tbWeek" Text="星期三" Margin="10,0,0,0" Foreground="White" FontSize="24" FontWeight="Bold"/><TextBlock x:Name="tbTime" Text="03:51:00" Margin="10,0,0,0" Foreground="White" FontSize="26" FontWeight="Bold"/></StackPanel></Grid>
</UserControl>

2、后台逻辑添加
这里添加了一个定时器,然后通过定时器每秒获取一下系统的时间,然后再格式化后呈现在界面上即可,这里我没有添加一些自定义属性,直接简单粗暴可用即可。有需要的可以自己定义一些属性,比如说字体颜色、字体大小等等

public partial class MyTime : UserControl
{public MyTime(){InitializeComponent();}DispatcherTimer freshDateTimeTimer = new DispatcherTimer();//计时器private void UserControl_Loaded(object sender, RoutedEventArgs e){freshDateTimeTimer.Tick += FreshDateTimeTimer_Tick;freshDateTimeTimer.Interval = TimeSpan.FromSeconds(1);FreshDateTimeTimer_Tick(null, null);freshDateTimeTimer.Start();}private void FreshDateTimeTimer_Tick(object sender, EventArgs e){DateTime dt = DateTime.Now;txtTime.Text = dt.ToString("HH:mm:ss");txtDate.Text = dt.ToString("yyyy-MM-dd");txtWeek.Text = dt.ToString("dddd");}
}

3、测试
在主界面上添加定义好的控件,然后手动生成一下解决方案,可以看到控件正常可用

<Grid Background="#333"><my:MyTime/>
</Grid>

最终效果如下:

WPF自定义日期时间控件相关推荐

  1. python日历gui_python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例...

    PyQt5日期时间控件QDateTimeEdit介绍 QDateTimeEdit是一个允许用户编辑日期时间的控件,可以使用键盘上的上下键头按钮来增加或减少日期的时间值,QDateTimeEdit通过s ...

  2. jquery日期时间控件

    代码下载地址:  jquery日期时间控件下载地址 .  工作中用到, 这里分享一下, 避免重复摸索劳动. 一. HTML 文件    <!DOCTYPE HTML PUBLIC "- ...

  3. Android开发之日期时间控件选择

    Android开发之日期时间控件选择 文章目录 前言 一.创建弹出Layout 1.1 新建Layout,修改样式为LinearLayout 1.2 Layout中添加日期和时间控件 二.新建Date ...

  4. bootstrap日期时间控件

    datetime控件 Bootstrap的日期时间控件,使用非常的简单. 首先,添加日期时间控件的引用 @*datetime控件*@<link href="~/Content/Boot ...

  5. 轻量级的日期时间控件Pikaday

    今天看到一个网友分享的一篇文章,有关轻量级的日期时间控件Pikaday,感觉很实用.在这里总结一下,方便日后使用.因为之前也遇到过类似的问题,My97datepicker插件样式过于老旧,但又没有其它 ...

  6. HTML5超简单的日期时间控件

    HTML5超简单的日期时间控件 时间都是宝贵的,尤其是开发人员,所以为了节省时间,我直接展示下效果,符合您的要求就采纳,不符合,就不用继续看了! 1.1 日期控件效果: 1.2 时间控件展示: 2.1 ...

  7. C# DateTimePicker:日期时间控件

    日期时间控件(DateTimePicker)在时间控件中的应用最多,主要用于在界面上显示当前的时间. Format 属性提供了 4 个属性值,如下所示. Short:短日期格式,例如2017/3/1: ...

  8. Androi常用日期时间控件

    虽然简单但是还是想记录下,使用Android自带日期时间控件,界面及源码如下: 主Activity源码: public class MainActivity extends Activity {    ...

  9. 收集几个js实现的日期时间控件

    /**//**  *大部分代码来自meizz的日历控件.  *tiannet添加了时间选择功能.select,object标签隐藏功能,还有其它小功能.  *使用方法:  * (1)只选择日期   & ...

最新文章

  1. 如何在 Python 中创建一个简单的神经网络
  2. visual studio 怎么生成coredump文件_玩游戏丢失dll文件别着急 认识这些就妥了
  3. Android TabLayout(选项卡布局)简单用法实例分析
  4. 财务大数据比赛有python吗-Python去做大数据开发,真的有前景吗?
  5. 程序员的共鸣 - 读《卓有成效的程序员》
  6. php 大图找小图,点击小图弹出大图,点击网页任何部分隐藏大图
  7. mac怎么实现文件读写c语言,使用Sublime Text和Xcode在Mac上进行文件输入/输出。 C语言...
  8. Git 撤销操作 / 回滚历史
  9. 美团AI全景图:吃喝玩乐背后的黑科技
  10. 信安精品课:第4章网络安全体系与网络安全模型精讲笔记
  11. 深入理解SpringBoot(4)——web开发
  12. java栈和队列_栈和队列的面试题Java
  13. CCF NOI1023 最大跨度
  14. 公钥和私钥的作用和区别
  15. LeetCode 226 翻转二叉树
  16. 太仓爱尚你婚庆--太仓浪漫婚庆第一品牌
  17. Linux操作系统 和 Windows操作系统 的区别
  18. 盛夏七月,欢迎来京城看“火烧云”
  19. J-Octa 使用MD和MO/DFT计算相对介电常数
  20. 《墨菲定律》读书笔记

热门文章

  1. 洛谷——P1361 小猫爬山
  2. PS mac版的下载地址,百度软件中心
  3. ubuntu18.04 cuda卸载及安装
  4. 一个ppp帧的数据部分(用十六进制写出)是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E。
  5. 【RC延迟电路 RC充电电路】 multisim 14.0仿真 参数计算
  6. C语言关于qsort函数的用法详细说明
  7. Visio图标下载链接
  8. m3u8 视频提取工具(下载web中的ts文件)
  9. 【模板】FHQ Treap
  10. OSDI2020:Delos中的虚拟共识