2013-03-27 68 views
0

我正在爲需要用戶輸入日期的Windows Phone 7.8(可能是WP8在以後的日期)開發應用程序。我目前使用Silverlight Toolkit中的DatePicker控件,因爲我喜歡它的視覺風格。使用不帶TextBox的DatePicker(Silverlight工具包)WP7

DatePicker控件放在頁面上時顯示爲一個文本框,單擊時打開DatePicker。

反正有沒有包含TextBox,因爲我不需要它,它是混亂了我的形式。也許一種通過代碼而不是通過OnClick事件來打開DatePicker的方法?

任何幫助表示讚賞:)

回答

0

可能是,你可以創建的DatePicker和隱伏它。當您單擊項目(您想要使用的項目)時,您將焦點更改爲DatePicker。

+0

我已經嘗試過將不透明度設置爲0並使用Focus()方法,但由於textBox不是用戶可編輯的,所以不起作用。 – Lucidity 2013-03-27 02:44:24

0

我認爲你可以實例化DatePickerPage對象並導航到它。據我所知它有一個值屬性(來自IDateTimePickerPage接口),您可以設置和閱讀。

我今天無法測試,但我明天一定會試一下,讓你知道我發現了什麼。同時,您可以訪問http://silverlight.codeplex.com/頁面並檢查工具包的來源。

1

您可以簡單地編輯DatePicker的控制模板以改變它的外觀。

VS 2012可以在默認情況下(右擊和編輯模板)完成此操作,否則您需要使用Expression Blend編輯模板。

特別地,控制模板由一個按鈕的(除其他外):

<Button x:Name="DateTimeButton" 
     Content="{TemplateBinding ValueString}" 
     ... 

按鈕內容屬性綁定到的valueString。如果您刪除此綁定(例如),您將留下一個空白按鈕。你可以把任何你在按鈕的內容,如...


這些鏈接應該幫助您開始使用混合:

Styling a control that supports templates

Create or modify a template

的導向槽Project Rosetta也不錯。

+0

如果您可以詳細介紹如何編輯控件,我對開發Windows Phone以及定義控件元素的整個XAML方式非常新穎。謝謝 – Lucidity 2013-03-28 09:21:39

0

什麼是應該觸發datepicker頁面打開的事件?是點擊還是點擊按鈕,圖像或什麼? 如果它們是這些中的任何一個,那麼可以將DatePicker放在xaml上,以使它們重疊(將它們放置在網格的同一行,同一列中)。將DatePicker的Opacity設置爲0.然後,用戶將看不到DatePicker的TextBox,只是它下面的控件。但是,當用戶點擊該控件(按鈕,圖像等)時,他或她將實際上單擊不可見的DatePicker,然後打開日期選擇器頁面。

相關問題