设置DatePicker选择日期界面应用程序栏的图标

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 查看。

 

这个控件挺好的,可以方便用户输入日期,直接得到一个DateTime?变量,其初始值默认是当前日期,一切使用起来都那么方便,除了它开始的界面是这样的:

    

可以看到下边Done和Cancel那两个按钮的图标缺失,被两个带有圆角框的叉叉给替代了,找了找属性里边也木有能配置这两个图标的地方,一时感觉深坑爹啊,于是去了一眼DatePicker的源代码,在这里发现了问题,该控件xaml中图标是这样设定的:

<shell:ApplicationBarIconButton
    IconUri="/Toolkit.Content/ApplicationBar.Check.png"
    Text="DONE"/>
<shell:ApplicationBarIconButton
    IconUri="/Toolkit.Content/ApplicationBar.Cancel.png"
    Text="CANCEL"/>

原来在开发的时候把IconUri设定成了定值,为了使这两个小东西能正常显示,只能在自己的项目中添加同开发时一样的资源:

  1. 在项目根目录添加名为"Toolkit.Content"的文件夹
  2. 在Toolkit.Content文件夹中添加两个"Exist Items",注意这两个图标文件的名字必须是"ApplicationBar.Check.png"和"ApplicationBar.Cancel.png"

然后再运行程序,发现图标显示正常:

    

忍不住吐槽一下这toolkit开发的也太草率了吧,这种静态的外部资源不是应该想法设法的包含在toolkit内部么,在这种情况下,既然外部内容无法被包括进来,就应该把资源设定为可配置的,否则开发者遇到这种问题真是无从下手啊。

posted @ 2013-09-03 14:56  Zealoct  阅读(1414)  评论(0编辑  收藏  举报