您需要通過CalendarViewDayItemChanging
事件處理此事件;沒有MVVM友好的可綁定屬性來指定有效的日期。
<CalendarDatePicker CalendarViewDayItemChanging="onCalendarViewDayItemChanging"/>
private HashSet<DateTimeOffset> validDates = new HashSet<DateTimeOffset>
{
DateTimeOffset.Parse("04/01/2017"),
DateTimeOffset.Parse("05/01/2017"),
DateTimeOffset.Parse("20/01/2017"),
DateTimeOffset.Parse("06/02/2017"),
};
private void onCalendarViewDayItemChanging(CalendarView sender, CalendarViewDayItemChangingEventArgs e)
{
e.Item.IsBlackout = !validDates.Contains(e.Item.Date.Date);
}
與往常一樣,如果你想重新使用此功能,您可以轉換成一個附加屬性(ValidDates
,也許)或行爲這一點。
可能重複[如何啓用/禁用DateTimePicker winforms c#中的特定日期](http://stackoverflow.com/questions/40059200/how-to-enable-disable-specific-dates-in-datetimepicker-winforms- c-sharp) – Prabu
你可以在uwp中實現同樣的變化 – Prabu
真的我不知道在uwp中如何實現同樣的功能:我沒有MonthCalendar控件,CalendarDatePicker沒有大膽的集合,我的日曆已經創建時,我需要限制CalendarDatePicker ...是否有更簡單的方法來做到這一點? – CarlosTI