我需要允許用戶只從我的日期選擇器中選擇星期日,所以我需要禁用其他列。但我找不到任何解決方案。目前我只是檢查選擇更改的事件,並清除日期,如果無效。我如何完全禁用非星期日?如何創建僅啓用星期日的DatePicker?
回答
相關部分@kalyan's suggested link問候日期限制和的DatePicker的BlackoutDates
財產,它可以讓你指定日期用戶不能選擇的範圍。
該屬性的類型爲CalendarBlackoutDatesCollection
,它是ObservableCollection<CalendarDateRange>
的子類。瞭解這一點,您可以以編程方式將包括星期一到星期六在內的範圍添加到此集合中,以在所有星期內顯示在日曆上。
要注意的是對於BlackoutDates
屬性的MSDN頁面描述一個重要的考慮:
添加日期到這個集合的時候就已經被選中或添加 通過DisplayDateStart和 指定範圍之外的日期DisplayDateEnd將導致ArgumentOutOfRangeException。
因此,請確保您知道如何定義這兩個屬性。
一個簡單的例子:
//Code assumes a DateTimePicker declared in XAML with its Name property set to "calendar"
var minDate = calendar.DisplayDateStart ?? DateTime.MinValue;
var maxDate = calendar.DisplayDateEnd ?? DateTime.MaxValue;
//pardon the somewhat clunky DateTime.MaxValue handling here; it prevents an overflow
//when actually adding dates near the maximum
for (var d = minDate; d <= maxDate && (DateTime.MaxValue - d.AddDays(7)).Days > 7; d = d.AddDays(7))
{
var range = new CalendarDateRange(d, d.AddDays(5));
calendar.BlackoutDates.Add(range);
}
請注意:默認情況下,DateTimePicker的DisplayDateStart/End屬性都設置爲null。因此,上面的代碼會禁止從日期0001年1月1日到9999年12月31日的所有日子。這導致極端日曆控件顯示並與之交互時性能較差。所以如果你打算使用這種技術,我強烈建議將選取者的開始和結束日期(以及因此的日期範圍數)限制在合理範圍內。
謝謝djacobson你的回答很好。它與DateTime.MinValue和DateTime.MaxValue有點慢,所以我改變了它們,然後它工作正常。再次感謝。 – janitheshan
@janitheshan不客氣 - 當你有機會時,不要忘記標記答案爲Accepted,如果它適合你。謝謝。 :) –
我試過隊友,但需要15個聲望。 :( – janitheshan
- 1. 從Datepicker禁用星期日
- 2. 如何爲datepicker創建日期範圍的日期間隔?
- 3. Datepicker啓用所有日期
- 4. Datepicker僅返回日期
- 5. 如何在DayPilot Pro中啓用星期六和星期日7.1.2741
- 6. jQuery UI Datepicker僅啓用數組中的特定日期
- 7. 星期天僅在Jquery Datepicker上?
- 8. 沒有星期日的Android DatePicker
- 9. WPF DatePicker僅顯示可用日期
- 10. 如何使用JQuery datepicker將默認日期設置爲即將到來的星期六和星期日?
- 11. jQuery datepicker禁用星期日和特定數組日期
- 12. 如何在uikit(getuikit)datepicker中禁用星期日?
- 13. jQuery UI Datepicker可以禁用星期六和星期日(和假日)嗎?
- 14. Jquery DatePicker顏色星期日紅
- 15. Datepicker默認爲這個星期日
- 16. 如何啓用jQuery inline datePicker的過去日期?
- 17. 如何查看星期六/星期日?
- 18. WPF Datepicker僅使日期列表可選
- 19. 如何禁用datepicker的未來日期?
- 20. jQuery UI datepicker:如何爲星期日着色紅色?
- 21. 如何將datepicker日期設置爲第一個星期六可用?
- 22. 使用jQuery創建特定的日期範圍datepicker
- 23. Swift:在DatePicker中設置自定義日期(僅限日期)
- 24. JQuery Datepicker日期僅在點擊該日期時被捕獲
- 25. 如何讓WPFToolkit DatePicker僅突出顯示所選日期?
- 26. 如何在jQuery datepicker中僅選擇一週開始日期
- 27. Bootstrap Datepicker:如何設置限制以僅選擇3個日期?
- 28. 如何使用datePicker增加日期?
- 29. UIDatePicker僅顯示星期日的日期嗎?
- 30. Pikaday:啓用一個特定日期,星期日
是的kalyan,但我找不到任何與我的問題有關的東西。任何方式感謝您的答覆。 – janitheshan