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

2012-2-16 16:11| 发布者: Vincent| 评论: 2|原作者: SilverLight

DatePicker和TimePicker控件是微软的Toolkit组件里面的控件。
DatePicker是日期的选择控件,运用于日期格式的输入。实现的效果如下
2011040415012910.jpg

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

在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>
复制代码
显示如下
2011040415084391.jpg

PickerPageUri 是指扩展的控件的链接URL,就是自己实现了对这个控件的扩展的地址。
扩展控件需要继承IDateTimePickerPage接口
下面是CustomPage.xaml的代码
  1. <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
  2.             <Border BorderBrush="Red" Background="Orange" Height="200" Width="300">
  3.                 <Button Content="DateTime Now" x:Name="btn" Click="btn_Click"/>
  4.             </Border>
  5.         </Grid>
复制代码
  1. public partial class CustomPage : PhoneApplicationPage, IDateTimePickerPage
  2.     {
  3.         public CustomPage()
  4.         {
  5.             InitializeComponent();
  6.         }

  7.         #region IDateTimePickerPage Members

  8.         public DateTime? Value
  9.         {
  10.             get;
  11.             set;
  12.         }

  13.         #endregion

  14.         private void btn_Click(object sender, RoutedEventArgs e)
  15.         {
  16.             // 选择时间并关闭页面
  17.             Value = DateTime.Now;
  18.             NavigationService.GoBack();//返回
  19.         }
  20.     }
复制代码
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.         void picker_ValueChanged(object sender, DateTimeValueChangedEventArgs e)
  10.         {
  11.             DateTime date = (DateTime)e.NewDateTime;
  12.             MessageBox.Show(date.ToString("d"));
  13.         }
  14.     }
复制代码
选择了日期之后出现的效果如下:
2011040415200780.jpg




lk0046 2012-2-21 10:20
顶一下
wpf 2012-2-16 19:19
不错,收藏一下!

关于我们|手机版|Archiver|DEVDIV.COM ( 京ICP备07040843号 )  

GMT+8, 2012-5-19 17:13

Powered by DEVDIV.COM!

© 2010-2012 DEVDIV.COM Coummunity.

回顶部