Windows Phone 7 日期选择控件DatePicker和时间选择控件TimePicker
DatePicker和TimePicker控件是微软的Toolkit组件里面的控件。
DatePicker是日期的选择控件,运用于日期格式的输入。实现的效果如下
TimePicker是时间的选择控件,运用于时间格式的输入。实现的效果如下
在Windows Phone 7程序中使用这两个控件
1、加载Microsoft.Phone.Controls.Toolkit.dll的引用
在xaml中添加空间引用
xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
2、xaml调用语法
- <StackPanel x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
- <toolkit:DatePicker x:Name="datePicker" Header="DatePicker日期选择控件" Value="2/3/2010" />
- <toolkit:TimePicker x:Name="timePicker" Header="TimePicker时间选择控件" ValueStringFormat="{}{0:T}"/>
- <toolkit:DatePicker x:Name="datePicker1" Header="扩展的DatePicker控件" Value="2/3/2010"
- PickerPageUri="/DatePickerDemo;component/CustomPage.xaml" />
- </StackPanel>
显示如下
PickerPageUri 是指扩展的控件的链接URL,就是自己实现了对这个控件的扩展的地址。
扩展控件需要继承IDateTimePickerPage接口
下面是CustomPage.xaml的代码
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<Border BorderBrush="Red" Background="Orange" Height="200" Width="300">
<Button Content="DateTime Now" x:Name="btn" Click="btn_Click"/>
</Border>
</Grid>
- public partial class CustomPage : PhoneApplicationPage, IDateTimePickerPage
- {
- public CustomPage()
- {
- InitializeComponent();
- }
- #region IDateTimePickerPage Members
- public DateTime? Value
- {
- get;
- set;
- }
- #endregion
- private void btn_Click(object sender, RoutedEventArgs e)
- {
- // 选择时间并关闭页面
- Value = DateTime.Now;
- NavigationService.GoBack();//返回
- }
- }
ValueChanged事件是选择了日期或者时间后触发的事件
在MainPage.xaml.cs页面演示这个事件的使用
- public partial class MainPage : PhoneApplicationPage
- {
- // Constructor
- public MainPage()
- {
- InitializeComponent();
- this.datePicker.ValueChanged += new EventHandler<DateTimeValueChangedEventArgs>(picker_ValueChanged);
- }
- void picker_ValueChanged(object sender, DateTimeValueChangedEventArgs e)
- {
- DateTime date = (DateTime)e.NewDateTime;
- MessageBox.Show(date.ToString("d"));
- }
- }
选择了日期之后出现的效果如下:
本文转自linzheng 51CTO博客,原文链接:http://blog.51cto.com/linzheng/1078614