使用没有文本框的日期picker (Silverlight Toolkit) WP7

本文关键字:picker Silverlight Toolkit WP7 日期 文本 | 更新日期: 2023-09-27 18:05:58

我正在开发一个Windows Phone 7.8(可能是WP8)的应用程序,需要用户输入日期。我目前正在使用来自Silverlight工具包的DatePicker控件,因为我喜欢它的视觉风格。

DatePicker控件,当放置在页面上时,显示为一个文本框,当单击该文本框时将打开DatePicker。

是否有无论如何不包括文本框,因为我不需要,它是混乱的我的形式。也许是通过代码而不是通过OnClick事件打开DatePicker的方法?

任何帮助都是感激的:)

使用没有文本框的日期picker (Silverlight Toolkit) WP7

您可以简单地编辑DatePicker的控制模板来改变它的外观。

VS 2012默认可以这样做(右键单击并编辑模板),否则你需要使用Expression Blend来编辑模板。

特别地,控制模板包含一个按钮(以及其他东西):

<Button x:Name="DateTimeButton"
        Content="{TemplateBinding ValueString}"
        ...

按钮内容属性绑定到ValueString。如果您删除此绑定(例如),您将留下一个空白按钮。您可以在按钮的内容中添加任何您喜欢的内容…


这些链接应该可以帮助你开始使用Blend:

样式化支持模板的控件

创建或修改模板

Rosetta项目的指南也很好。

可能是,您可以创建DatePicker并隐藏它。当您单击item(您想使用的项)时,您将焦点更改为DatePicker。

我认为您可以实例化DatePickerPage对象并导航到它。据我所知,它有一个值属性(来自IDateTimePickerPage接口),你可以设置和读取。

我今天不能测试它,但我明天一定会尝试一下,让你知道我发现了什么。同时,您可以访问http://silverlight.codeplex.com/页面并检查Toolkit的源代码。

应该触发打开日期选择器页面的事件是什么?它是点击或点击一个按钮,一个图像还是什么?如果是上述任何一种情况,您可以在该控件上放置xaml中的DatePicker,以便它们重叠(将它们放置在网格的同一行、同列中)。设置DatePicker的不透明度为0。然后用户将看不到DatePicker的文本框,只看到它下面的控件。然而,当用户点击控件(按钮,图像等)时,他或她实际上会点击不可见的日期picker,然后日期picker页面将打开。