0

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

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

无论如何都没有包含我不需要的 TextBox 并且它弄乱了我的表单。也许一种通过代码而不是通过 OnClick 事件打开 DatePicker 的方法?

任何帮助表示赞赏:)

4

4 回答 4

1

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

默认情况下,VS 2012 可以执行此操作(右键单击并编辑模板),否则您需要使用 Expression Blend 编辑模板。

特别是,控制模板包含一个按钮(除其他外):

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

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


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

样式化支持模板的控件

创建或修改模板

Project Rosetta的指南也很好。

于 2013-03-27T21:01:34.193 回答
0

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

于 2013-03-27T02:42:46.277 回答
0

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

于 2014-01-11T15:32:09.643 回答
0

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

我今天无法测试它,但我肯定会在明天尝试并让你知道我发现了什么。同时您可以访问http://silverlight.codeplex.com/页面并查看 Toolkit 的来源。

于 2013-03-27T08:34:54.433 回答