1

我正在尋找一種方式來執行一些操作,當用戶點擊DatePicker控件中的接受/複選標記按鈕時,當用戶沒有更改日期,即這應該與點擊後退或取消按鈕取消DatePicker不同。有沒有辦法添加一個事件處理程序到這個按鈕?WinRT中接受按鈕的事件處理程序日期選擇器

enter image description here

背景:幫助用戶選擇最近的日期(和避免過度滾動),該DatePicker設置爲今天的日期。用戶應該能夠

  1. 選擇其他日期,然後點擊接受按鈕 - >日期被保存(這是我可以在DateChanged事件處理) - >確定(在某種程度上)
  2. 通過叩擊背部取消或取消按鈕 - >假定用戶不想設置日期,並且不需要保存操作(不需要事件處理程序) - >確定
  3. 通過點擊接受按鈕選擇建議日期(今天) - >假定日期要被保存但DateChanged不會觸發,並且不會接受點擊接受按鈕。

鑑於最初的回答下面我也許應該強調的是,這是不是從控制獲取日期值,但約知道,如果用戶已拍了拍接受/對號按鈕或取消選擇。我正在尋找的是一種定製DatePicker控件的方式,以便我可以捕捉該事件。

回答

1

這是正常行爲,只有當日期實際發生變化時才觸發事件。

當然,你仍然有辦法選擇日期。提供一個名稱您的DatePicker元素:

<DatePicker Name="DatePick" Height="47" Width="323"/> 

然後你可以通過查看日期屬性獲取日期:

DateTimeOffset selectedDate = DatePick.Date; 

這2個按鍵(做/取消)都只是爲了驗證變更在這個UI製作:

  • 完成:更改的DatePicker元素日期的值,如果日期已更改DateChanged事件被觸發,如果不是則沒有發生。

  • 取消(或後退按鈕):取消日期選擇,即使您更改了DatePicker中的選定日期,DatePicker元素的Date屬性也保持不變。

如果你想知道,如果用戶接受你展示他的日期,不要使用這些按鈕在UI的DatePicker而是你自己頁面上添加兩個按鈕,在UI的DatePicker按鈕只是爲了驗證或取消您對日期所做的更改。

+0

謝謝。這是理解的。但是,如何通過點擊複選標記按鈕或通過點擊後退或取消按鈕取消日期選擇,我怎麼知道用戶是否已接受「建議」日期? – jerry 2015-04-07 13:02:14

+0

@ jery這是不可能的 – bnu 2016-08-05 14:43:39

相關問題