Windows Phone 7 开发积累_04
关于产生错误
“The as operator must be used with a reference type or nullable type ('System.DateTime' is a non-nullable value type) ”
今天写数据转换器,需要将按照时间值显示不同的时间格式字符串。
结果在Convert里发现这么写报错。
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
DateTime time = value as DateTime;
}
该问题是因为DateTime 为值类型,不能用引用类型或空类型。我们可以按如下方法写这段代码。
//DateTime time = value as DateTime; 这种写法就不对 因为DateTime为值类型
//DateTime time = value as DateTime? ?? _NullTime; 这种写法虽然不报错用起来也没问题,不过也不合适
DateTime time = (DateTime)value; //这种是正确写法 多谢阿干童鞋指正
贴一下这个数据转换器
需求:
绑定时间为当日的 只显示“时:分”
绑定时间为当年且当日前的 显示 “月-日 时:分”
绑定时间为往年的 显示 “年份 月-日 时:分”
数据转换器:
public class TimeFormatConverter:IValueConverter{private static DateTime _Now = DateTime.Now;private static DateTime _UndefineTime = new DateTime(0);public object Convert(object value, Type targetType, object parameter, CultureInfo culture){//DateTime time = value as DateTime;//DateTime time = value as DateTime? ?? _NullTime;DateTime time = (DateTime)value;if (time == _UndefineTime)return "绑定时间有误";int offYear = _Now.Year - time.Year;int offDay = _Now.Date.Subtract(time.Date).Days;if (offYear >= 1){return string.Format("{0:yyyy-MM-dd HH:mm}", time);}else if (offDay >= 1){return string.Format("{0:MM-dd HH:mm}", time);}else{return string.Format("{0:HH:mm}", time);}}public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture){throw new NotImplementedException();}}
xaml中声明集合
xmlns:Conv="clr-namespace:MyPageTabDemo.Utils.Converter"
使用
<TextBlock Text="{Binding Timestamp, Converter={StaticResource TimeFmtConverter}}" .../>
转载于:https://www.cnblogs.com/longlww/archive/2011/08/30/2159294.html
Windows Phone 7 开发积累_04相关推荐
- matlab开发环境,Windows 下开源开发环境的搭建
因项目需要在 Windows 下测试开发的程序, 所以研究了一下如何在 Windows 下搭建基于 gcc 的开源开发环境. MSYS2 是 Windows 下的一款开源软件构建和发布平台, 网址为 ...
- Windows phone 应用开发[1]-Text To Speech
最近几个月一直在专注Windows phone产品设计和项目开发.在其中团队磨合和产品定位上也出现不少问题.一直难以抽出成块的时间来思考梳理.至此博客更新也从此中断.这两天因病在家休息.上周在微博[F ...
- 刚开始Windows Mobile的开发,请大家多多关照
刚开始学习Windows Mobile的开发,现在正在学习WML和WAP的网站制作,请大家多多关照. 转载于:https://www.cnblogs.com/czha2002/archive/2005 ...
- windows下pomelo开发环境搭建及JS乱码问题
from: http://blog.csdn.net/wangqiuyun/article/details/9243263 最近一直在研究node.js这一块,为的就是使用网易的pomelo框架,学习 ...
- Windows phone 应用开发[12]-Pex 构建自动化白盒测试[下]
本篇承接于上篇Windows phone 应用开发[11]-Pex 构建自动化白盒测试[上] .大概了解Pex作为自动化白盒测试工具工作方式.以及提出参数化单元测试的概念.为开发人员减少手动编写大量独 ...
- Windows上python开发--2安装django框架
Windows上python开发--2安装django框架 分类: 服务器后台开发2014-05-17 21:22 2310人阅读 评论(2) 收藏 举报 python django 上一篇文章中讲了 ...
- Windows 8 应用开发 - 本地数据存储
原文:Windows 8 应用开发 - 本地数据存储 在应用中通常会遇到用户主动或被动存储信息的情况,当应用关闭后这些数据仍然会存储在本地设备上,用户下次重新激活应用时会自动加载这些数据.下面将通过一 ...
- 张高兴的 Windows 10 IoT 开发笔记:BH1750FVI 光照度传感器
张高兴的 Windows 10 IoT 开发笔记:BH1750FVI 光照度传感器 原文:张高兴的 Windows 10 IoT 开发笔记:BH1750FVI 光照度传感器 BH1750FVI 是一款 ...
- 普元EOS开发积累第一篇(常见错误解决方法) 持续更新
普元EOS开发积累第一篇(常见错误解决方法) 持续更新 参考文章: (1)普元EOS开发积累第一篇(常见错误解决方法) 持续更新 (2)https://www.cnblogs.com/tangjing ...
最新文章
- 10-TypeScript中的接口
- 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用
- jsp文件通常用common_JSP使用commons-fileupload实现文件上传实例
- 阿里云(一)云存储OSS的命令行osscmd的安装和使用
- 弱电工程室内外光纤敷设有哪些技术要求
- c语言各类随机函数,怎样让c语言中的随机函数真正随机?
- linux创建a1的硬链接a2,Linux命令-重定向和软硬链接
- Window下更新python pip源
- 平凡的世界电子书pdf下载_零基础彩铅画入门教程步骤图及全套PDF电子书教程下载!...
- 疫情期间不忽略障碍群体刚需、仍坚持做无障碍的倡议书
- react redux 简化_Redux 源码解析
- 潜在语义索引(Latent Semantic Indexing, LSI)——快速教程
- Codeforces 837D 动态规划
- java 数组优化_Java数组的jit优化问题?
- CAM350 简单使用
- hdu1197(十进制十六进制十二进制位数和)
- DDD聚合设计的几个原则的简单讨论
- Redis - 听说 Dragonfly 宣称比我快 25 倍
- 接口测试主要做以下3个方面:
- Softing过程自动化解决方案——助力数字化工业
热门文章
- [react] react是什么?它的主要特点是什么?
- [react] 怎么在JSX里使用自定义属性?
- 前端学习(3084):vue+element今日头条管理-表单数据绑定2
- [html] 制作一个不规则形状有哪些方法可以实现?
- [html] 你有使用过summary标签吗?说说它的用途
- [css] 怎么使用css选择空链接?
- [vue] 怎么解决vue动态设置img的src不生效的问题
- 前端学习(2192):Promise的all的使用
- 前端学习(2177):vue-router得参数传递
- 前端学习(1081):构造函数和原型概述