WPF DatePicker控件显示日期

时间:2011-06-29 05:55:42

标签: wpf datepicker

我正在使用WPF和MVVM实现,并且有一个WPF DatePicker控件。我已使用DateTime.Now在我的属性上设置了默认日期,但我想禁用DatePicker控件上当前日期之前的所有日期,以便用户无法选择任何更早的日期。

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

有没有一种简单的方法可以实现这一目标?

4 个答案:

答案 0 :(得分:4)

也许您正在寻找BlackoutDates属性?

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

WPF Toolkit: Calendar & DatePicker Walkthrough

例如,如果您想将停电日期从1/1/2000设置为现在,您可以执行以下操作:

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

将System命名空间定义为

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

答案 1 :(得分:4)

您可以使用DisplayDateStartDisplayDateEnd属性来选择应在控件中显示的日期,或者如果您想要更复杂的内容,可以使用BlackOutDates准确选择您所关注的日期不想选择。

答案 2 :(得分:0)

CalendarDateRange cdr = new CalendarDateRange(DateTime.MinValue,DateTime.Today); myCalendar.BlackoutDates.Add(CDR);

答案 3 :(得分:0)