Windows Phone 7 日期選擇控制項DatePicker和時間選擇控制項TimePicker

來源:互聯網
上載者:User

     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"));
}
}

選擇了日期之後出現的效果如下:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.