WPF DatePicker控件显示日期



我在MVVM实现中使用WPF,并且有一个WPF DatePicker控件。我已经使用DateTime在我的属性上设置了默认日期。现在,但我想禁用DatePicker控件上位于当前日期之前的所有日期,这样用户就无法选择任何更早的日期。

我曾尝试在xaml中使用FallbackValue={x:Static sys:DateTime.Now}在我的SelectedDate属性中设置此项,并在大多数其他属性中使用{x:Static sys:DateTime.Now}(来自另一个源(,但当前日期之前的日期仍然显示并且仍然可选择。

有没有一种简单的方法可以做到这一点?

也许您正在查找BlackoutDates属性?

以下是使用DatePicker控件(包括BlackoutDates(的更多信息:

WPF工具包:日历;DatePicker遍历

例如,如果你想将停电日期从2000年1月1日设置为今天,你可以这样做:

<Calendar.BlackoutDates>
    <CalendarDateRange Start="1/1/2000" End="{x:Static System:DateTime.Today}" />
</Calendar.BlackoutDates>

其中系统名称空间定义为

xmlns:System="clr-namespace:System;assembly=mscorlib"

您可以使用DisplayDateStart和DisplayDateEnd属性来选择应该在控件中显示的日期,或者如果您想要更复杂的日期,您可以使用BlackOutDates来选择不希望选择的日期。

CalendarDateRange cdr=新日历日期范围(DateTime.MinValue,DateTime.Tayday(;myCalendar.BlackoutDates.Add(cdr(;

您可以使用

MyDatePicker.BlackoutDates.AddDatesInPast();

请参阅https://msdn.microsoft.com/en-us/library/system.windows.controls.calendarblackoutdatescollection.adddatesinpast(v=vs.110(.aspx

最新更新