在前面我们走马观花地介绍了一大堆控件,其中自然也包括这DatePicker和TimePicker,那么稍微高级些的用法呢?

如果你想做一个关于健身、闹钟等的App,那么不可避免的会用到时间这些控件了。

<DatePicker x:Name="datePicker" Header="NoMasp Date" Foreground="Beige"/>
<Button x:Name="btnOK" Click="btnOK_Click" Content="确定" Foreground="Cyan" Margin= "292,378,0,352" ><Button.Flyout><Flyout><TextBlock x:Name="tblock1" Foreground="Fuchsia"/></Flyout></Button.Flyout>
</Button>

那么我们可能需要所选定的时间是未来时间,也就是比应用运行时的时间要大。获取当前选中的时间给程序的其他部分使用也是很简单的,我这里的year等都在之前定义过了哦,在函数内定义可是不明智的哟。

        private void btnOK_Click(object sender, RoutedEventArgs e){if(datePicker.Date>DateTimeOffset.Now){tblock1.Text = string.Format("你所选中的时间是:{0}。", datePicker.Date.ToString("D"));}else{tblock1.Text = "噢!你想要穿越吗?";}year = datePicker.Date.Year;month = datePicker.Date.Month;day = datePicker.Date.Day;      }        

有意思的事情又来了,如果你是想要做一个时间囊,默认的时间就是10年之后,那么DatePicker的初始事件如果正好就是10年后不是非常好吗。那么我们要做的呢,首先就是给DatePicker的Loaded写一条事件啦。(哈哈,我觉得App是保存不了10年哟)

private void datePicker_Loaded(object sender, RoutedEventArgs e)
{datePicker.Date = DateTimeOffset.Now.AddYears(10);
}

如果不想兴师动众去用DatePicker的Loaded,那么也可以直接在后台代码中这样写哦。

protected override void OnNavigatedTo(NavigationEventArgs e)
{datePicker.Date = DateTimeOffset.Now.AddYears(10);
}

我还做了一个小测试呢,在Loaded事件中让时间增加11年,在OnNavigatedTo事件中让时间增加10年,结果——结果是增加了11年啦,看来还是自家的Loaded更厉害嘛。

接下来就是TimePicker啦,回到健身的话题,假设哈,6点到18点才适合运动,那么我们的Microsoft Band就做了以下这么个要求(开玩笑啦)。

    private void btnOK_Click(object sender, RoutedEventArgs e){TimeSpan startTime = new TimeSpan(6, 0, 0);TimeSpan endTime = new TimeSpan(18, 0, 0);if(timePicker.Time>=startTime&&timePicker.Time<=endTime){tblock1.Text = string.Format("这段时间运动都是很好的哦——{0}。", timePicker.Time.ToString());}else{tblock1.Text = "此时间吧不适合运动的吧?";}       }        

也许你还想控制手环上时间选择器的初始时间,那么代码来了。

protected override void OnNavigatedTo(NavigationEventArgs e)
{                                              timePicker.Time = new TimeSpan(23, 0, 0);
}

作为强迫症患者呢,每次我设定闹钟的时候都要设置在一个比较好的时间,比如被5整除啦、质数啦。这里可以用MinuteIncrement属性来控制分钟的增量哟,比如增量为5呀。从小学起就飞得把电子手表的时间给设置成24小时制的,这个也是可以实现的,ClockIdentifier设置成24HourClock就搞定啦。

这篇博客比较简单,因此也没有配图。那么,下一篇再见咯,感觉大家的支持!

为使本文得到斧正和提问,转载请注明出处:
http://blog.csdn.net/nomasp

版权声明:本文为 NoMasp柯于旺 原创文章,如需转载请联系本人。

转载于:https://www.cnblogs.com/NoMasp/p/4786034.html

【万里征程——Windows App开发】DatePickerTimepicker相关推荐

  1. 【万里征程——Windows App开发】应用栏

    基本的用法我们在 [万里征程--Windows App开发]页面布局和基本导航中已经讲过了,这里继续补充关于应用栏的更多用法. Icon 在之前的学习中,我们知道Icon属性中有很多很多系统预定义,但 ...

  2. 【万里征程——Windows App开发】SemanticZoom视图切换

    相信用过Windows Phone或者Windows 8/8.1/10的朋友对下面这张截图肯定不陌生.这就是通过SemanticZoom来实现的,当数据过多时,这种控件尤其适用.它有一个放大视图Zoo ...

  3. 【万里征程——Windows App开发】开发准备

    操作系统及SDK 操作系统 如果打算开发Windows App,那么你的电脑就不能再用老旧的Windows 7了.推荐使用Windows 8.1.写这篇博客的时候,我用的操作系统是Windows 10 ...

  4. 【万里征程——Windows App开发】动态磁贴

    动态磁贴是什么,相信大家用了这么久的Windows 8/8.1/10早就非常了解了吧. 像什么小磁贴.中磁贴.宽磁贴.大磁贴,还有这里的应用商店Logo等,大家在下面根据不同的分辨率选择合适的图片就好 ...

  5. 【万里征程——Windows App开发】DatePickerFlyout、TimePickerFlyout的使用

    已经有挺长时间没有更新这个专栏了,不过刚才有网友私信问我一个问题现在就火速更新上一篇~ 这一篇讲解在WP上DataPickerFlyout和TimePickerFlyout的使用,但它们只能在WP上跑 ...

  6. 【万里征程——Windows App开发】数据绑定——简单示例、更改通知、数据转换...

    简单的数据绑定示例 相比于理论,我更倾向于从实践中开始博客,尤其是对于数据绑定.那么,我们先来看看几个简单的例子. 1.数据绑定到TextBox 我们依旧使用前面的闹钟类来开始.在下面的代码中,我们有 ...

  7. 【万里征程——Windows App开发】使用Toast通知

    前面我们使用了 MessageDialog来作为弹窗,这里来介绍一个更加高大上的Toast通知. Toast通知本质上动力是由XML来提供的,一开始我还不相信不知道XML原来有这么大的威力.现在就来看 ...

  8. 【万里征程——Windows App开发】文件数据——文件选取器

    使用文件选取器保存文件 就我个人而言,还是非常喜欢使用文件选取器的,因为能够用自己的代码来调用系统的各种弹框. 在这个示例中,首先在XAML中添加一个Button和一个TextBlock,分别命名为b ...

  9. 【万里征程——Windows App开发】控件大集合1

    添加控件的方式有多种,大家更喜欢哪一种呢? 1)使用诸如 Blend for Visual Studio 或 Microsoft Visual Studio XAML 设计器的设计工具. 2)在 Vi ...

最新文章

  1. puppet aix之自动化用户管理
  2. 深度学习中的图像分割:方法和应用
  3. 关于Vue中常用的工具函数封装
  4. 《漫画算法2》源码整理-9 股票交易最大收益
  5. 【知识图谱】知识抽取与挖掘(I)
  6. Eclipse基金会发布MicroProfile 2.2,适用于Java微服务
  7. python3数据类型:List列表
  8. AC66U-B1) 刷梅林固件教程
  9. GridSearchCV和RandomizedSearchCV(以SVM为例)
  10. VS2013(InstallShield2015LimitedEdition)打包程序详解
  11. 快速消费品行业的营销费用的管理(3)----营销费用预算管理
  12. [转]WF事件驱动(1)
  13. [leetcode]211. 添加与搜索单词 - 数据结构设计 ---前缀树解法
  14. 关于前端样式定位的一些自己的看法
  15. python上网行为分析_用 Python 一键分析你的上网行为, 看是在认真工作还是摸鱼...
  16. android播放器 重音,如何在SQLite查询中忽略重音(Android)
  17. 数据结构课程设计,迷宫问题求解
  18. 友达37寸长条液晶屏P370IVN04.1-原厂长条屏
  19. Comparator 实现集合中元素的比较.输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这321323
  20. Android 房贷计算

热门文章

  1. FFmpeg — 屏幕录制器材
  2. mycat集群执行带有join的sql语句时报错_can‘t find table define in schema_分片join---Linux运维工作笔记052
  3. 大数据之-Hadoop源码编译_源码编译的意义---大数据之hadoop工作笔记0044
  4. 大数据_Spark_核心模块介绍---Spark工作笔记0003
  5. MyCat分布式数据库集群架构工作笔记0011---高可用_主从读写分离配置
  6. VC++多线程工作笔记0003---MFC中用户界面线程的相关操作
  7. make: *** [.build_release/lib/libcaffe.so] 错误 1
  8. 基于BS模式的航材电子商务交易平台(1)
  9. lua调用shell 脚本
  10. android开发之播放音乐的方法