【譯】Silverlight for Windows Phone Toolkit In Depth(五)

來源:互聯網
上載者:User

開篇: Silverlight for Windows Phone Toolkit In Depth(一)

上一篇:Silverlight for Windows Phone Toolkit In Depth(四)

 

DatePicker

 

概述

Windows Phone Toolkit的DatePicker是一個能為你自動提供一個輸入框的UI元素,當你在選擇它時,選取器會顯示一個表單你可以使用無限滑動的方式選擇另一個日期,DatePicker 是符合Windows Phone設計規範的 UX控制項。

 

準備

開始使用DatePicker必須先在你的項目中添加引用Microsoft.Phone.Controls.Toolkit.dll

Note:在安裝完Toolkit後你可以在下面路徑找到Microsoft.Phone.Controls.Toolkit.dll

For 32-bit systems:

C:\Program Files\Microsoft SDKs\Windows

Phone\v7.1\Toolkit\Oct11\Bin\Microsoft.Phone.Controls.Toolkit.dll 

For 64-bit systems:

C:\Program Files (x86)\Microsoft SDKs\Windows

Phone\v7.1\Toolkit\Oct11\Bin\Microsoft.Phone.Controls.Toolkit.dll  

或者如果你下載了“Silverlight for Windows Phone Toolkit Source & Sample - Nov 2011.zip”,可以直接從“...\Source and Sample\Bin\”目錄下找到

你可以在XAML或C#/VB中建立DatePicker執行個體

  • 在XAML中定義DatePicker:你需要添加如下命名空間

注意:確保在你的頁面聲明中包含“toolkit”命名空間!你可以通過Visual Studio Toolbox, Expression Blend Designer或者手動添加。

  • 在C#/VB中建立DatePicker控制項執行個體

NOTE:如果你選擇通過C#代碼的方式添加DatePicker控制項,不要忘記將DatePicker添加到頁面容器中,如: this.ContentPanel.Children.Add(datePicker);

IMPORTANT:在DatePicker和TimePicker中正確使用ApplicationBar的表徵圖,需要在項目的根目錄下建立一個名為"Toolkit.Content"的檔案夾,將表徵圖檔案複製到該檔案夾。Toolkit提供了一些基本的表徵圖檔案,你可以在PhoneToolkitSample項目中找到,複製到你的項目中,它們必須命名為 "ApplicationBar.Cancel.png" 和"ApplicationBar.Check.png",並且build action 必須設定為"Content"!

 

主要屬性Header

Header Object類型屬性,它用來擷取或設定控制項的頭部

樣本:

HeaderTemplate

HeaderTemplate DataTemplate類型屬性,擷取或設定控制項頭部顯示的模板

PickerPageUri

PickerPageUri Uri類型屬性,它用來擷取或設定一個Uri(用在當點擊控制項載入IDateTimePickerPage執行個體),參考下文“定製全螢幕的選擇頁面”,擷取更多資訊和樣本。

Value

Value  DateTime?類型屬性,擷取或設定時間值

樣本:

ValueString

ValueString  string類型屬性,擷取當前選中值的字元形式

樣本:

ValueStringFormat

ValueStringFormat string類型屬性,擷取或設定當將 Value屬性轉換為string類型的格式化字元,擷取更多關于格式化文本的資訊,可以訪問MSDN文檔。

NOTE:格式化字元需要包含"{" 和 "}",所以在XAML中使用時,需要規避特殊字元進行轉義,如ValueStringFormat="{}{0:d}" .

NOTE: DatePicker預設的ValueStringFormat是"{}{0:d}",這意味著在美國文化裡將顯示為15/12/2010.

 主要事件ValueChanged

在Value屬性發生改變時觸發

樣本:

 

定製全螢幕的選擇頁面

你可以這樣來定製全螢幕的選擇頁面,設定DatePicker.PickerPageUri或者TimePicker.PickerPageUri屬性,導航到一個實現了IDateTimePickerPage介面的 PhoneApplicationPage。IDateTimePickerPage是為DatePicker/TimePicker 設計的介面,用來與選擇頁面進行互動。它僅包含一個屬性:

我們來建立一個簡單的方案,使用自訂頁面重設DatePicker的選中值為DateTime.Now。下面是步驟:

第一步:在你的項目添加Windows Phone Partial Page,並且重新命名為"CustomPage".

第二步:在後台代碼中實現IDateTimePickerPage介面,代碼如下:

第三步:然後在"CustomPage"中添加一個按鈕

第四步:下一步是添加一些代碼實現將DatePicker當前選中值設定為 DateTime.Now.

第五步:設定PickerPageUri為"/DatePickerDemo;component/CustomPage.xaml"

第六步:運行結果

上面就是實現一個定製的全屏選擇頁面。如果你運行這個樣本,你將會發現當你選擇DatePicker時,我們建立的CustomPage就會出現。然後如果你點擊按鈕,NavigationService.GoBack()將被執行,DatePicker的值將被更新為目前時間。如此簡單的你就實現了定製的全螢幕選擇頁面,當然你可以添加任何你喜歡的方式。

聲明:本人英語水平有限,翻譯有不當的地方還望指正,所有翻譯均是理解性翻譯,與原文不一定相符,出現錯誤翻譯不當,以原文為準,英文好的建議直接閱讀英文原版(也不是太難),著作權歸原作者所有。轉載此文請註明文章出處和作者。

英文原版(第二版):http://www.windowsphonegeek.com/WPToolkitBook2nd

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.