Windows Phone系统带有一个选择日期的控件名叫DatePicker,在开发者toolkit以内,须要安装Silverlight for Windows Phone Toolkit Aug 2011.msi以后才可以使用,安装包能够从这里(http://silverlight.codeplex.com/releases/view/71550)下载,关于Toolkit的源代码以及一些使用样例,能够访问 http://phone.codeplex.com/sourcecontrol/latest 查看。
shell
这个控件挺好的,能够方便用户输入日期,直接获得一个DateTime?变量,其初始值默认是当前日期,一切使用起来都那么方便,除了它开始的界面是这样的:spa
能够看到下边Done和Cancel那两个按钮的图标缺失,被两个带有圆角框的叉叉给替代了,找了找属性里边也木有能配置这两个图标的地方,一时感受深坑爹啊,因而去了一眼DatePicker的源代码,在这里发现了问题,该控件xaml中图标是这样设定的:code
<shell:ApplicationBarIconButton IconUri="/Toolkit.Content/ApplicationBar.Check.png" Text="DONE"/> <shell:ApplicationBarIconButton IconUri="/Toolkit.Content/ApplicationBar.Cancel.png" Text="CANCEL"/>
原来在开发的时候把IconUri设定成了定值,为了使这两个小东西能正常显示,只能在本身的项目中添加同开发时同样的资源:blog
而后再运行程序,发现图标显示正常:资源
忍不住吐槽一下这toolkit开发的也太草率了吧,这种静态的外部资源不是应该想法设法的包含在toolkit内部么,在这种状况下,既然外部内容没法被包括进来,就应该把资源设定为可配置的,不然开发者遇到这种问题真是无从下手啊。开发