DatePicker和TimePicker控件是微软的Toolkit组件里面的控件。

DatePicker是日期的选择控件,运用于日期格式的输入。实现的效果如下

 

Windows Phone 7 日期选择控件DatePicker和时间选择控件TimePicker _TimePicker  

TimePicker是时间的选择控件,运用于时间格式的输入。实现的效果如下

Windows Phone 7 日期选择控件DatePicker和时间选择控件TimePicker _DatePicker_02 

在Windows Phone 7程序中使用这两个控件

1、加载Microsoft.Phone.Controls.Toolkit.dll的引用

在xaml中添加空间引用

xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"

2、xaml调用语法

 

  1. <StackPanel x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
  2.             <toolkit:DatePicker x:Name="datePicker" Header="DatePicker日期选择控件" Value="2/3/2010" /> 
  3.             <toolkit:TimePicker x:Name="timePicker" Header="TimePicker时间选择控件" ValueStringFormat="{}{0:T}"/> 
  4.             <toolkit:DatePicker x:Name="datePicker1" Header="扩展的DatePicker控件" Value="2/3/2010" 
  5.                 PickerPageUri="/DatePickerDemo;component/CustomPage.xaml" /> 
  6.         </StackPanel> 

显示如下

Windows Phone 7 日期选择控件DatePicker和时间选择控件TimePicker _DatePicker_03 

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> 

 

  1. public partial class CustomPage : PhoneApplicationPage, IDateTimePickerPage  
  2.     {  
  3.         public CustomPage()  
  4.         {  
  5.             InitializeComponent();  
  6.         }  
  7.  
  8.         #region IDateTimePickerPage Members  
  9.  
  10.         public DateTime? Value  
  11.         {  
  12.             get;  
  13.             set;  
  14.         }  
  15.  
  16.         #endregion  
  17.  
  18.         private void btn_Click(object sender, RoutedEventArgs e)  
  19.         {  
  20.             // 选择时间并关闭页面  
  21.             Value = DateTime.Now;  
  22.             NavigationService.GoBack();//返回  
  23.         }  
  24.     } 

ValueChanged事件是选择了日期或者时间后触发的事件

在MainPage.xaml.cs页面演示这个事件的使用

 

  1. public partial class MainPage : PhoneApplicationPage  
  2.     {  
  3.         // Constructor  
  4.         public MainPage()  
  5.         {  
  6.             InitializeComponent();  
  7.             this.datePicker.ValueChanged += new EventHandler<DateTimeValueChangedEventArgs>(picker_ValueChanged);  
  8.         }  
  9.  
  10.         void picker_ValueChanged(object sender, DateTimeValueChangedEventArgs e)  
  11.         {  
  12.             DateTime date = (DateTime)e.NewDateTime;  
  13.             MessageBox.Show(date.ToString("d"));  
  14.         }  
  15.     } 

选择了日期之后出现的效果如下:

 

Windows Phone 7 日期选择控件DatePicker和时间选择控件TimePicker _日期选择控件_04