我正在为Windows Phone 7.8开发一个应用程序(可能是以后的WP8),需要用户输入日期。我目前正在使用Silverlight Toolkit中的DatePicker控件,因为我喜欢它的视觉样式。
当放置在页面上时,DatePicker控件显示为TextBox,单击该文本框时会打开DatePicker。
无论如何都没有包含TextBox,因为我不需要它并且它使我的表格混乱。也许是一种通过代码而不是通过OnClick事件打开DatePicker的方法?
感谢任何帮助:)
答案 0 :(得分:1)
您只需编辑DatePicker的控制模板即可更改其外观。
VS 2012默认情况下可以执行此操作(右键单击并编辑模板),否则您需要使用Expression Blend编辑模板。
特别是,控制模板包含一个Button(以及其他内容):
<Button x:Name="DateTimeButton"
Content="{TemplateBinding ValueString}"
...
Buttons Content属性绑定到ValueString。如果删除此绑定(例如),则会留下一个空白按钮。你可以把任何你喜欢的东西放在按钮的内容中......
这些链接应该可以帮助您开始使用Blend:
Styling a control that supports templates
Project Rosetta上的指南也很不错。
答案 1 :(得分:0)
可能是,你可以创建DatePicker并隐藏它。 单击项目(要使用的项目)时,将焦点更改为DatePicker。
答案 2 :(得分:0)
我认为你可以实例化DatePickerPage对象并导航到它。据我所知,它有一个Value属性(来自IDateTimePickerPage接口),您可以设置和读取。
我今天无法测试,但明天我一定会尝试,让你知道我发现了什么。同时,您可以转到http://silverlight.codeplex.com/页面并查看工具包的来源。
答案 3 :(得分:0)
触发打开datepicker页面的事件是什么?点击或点击按钮,图像还是什么? 如果是这些中的任何一个,您可以在该控件上放置一个DatePicker,使它们重叠(将它们放在网格的同一行,同一列中)。将DatePicker的不透明度设置为0.然后用户将看不到DatePicker的TextBox,只看到它下面的控件。但是,当用户点击该控件(按钮,图像等)时,他或她实际上会点击不可见的DatePicker,然后会打开datepicker页面。