我想知道是否有可能使日历(DatePicker)中的特定日期变得不可用,更具体地说是每个星期一和星期二。我发现了类似的线程(如何在仅启用周日的情况下创建DatePicker?并且在jQuery UI datepicker上禁用一周中的特定日期),但有关日期涂黑的问题,我无法针对自己的特定目的修改其代码。我正在VB.NET(WPF)中编写此应用程序。
到目前为止,我用于涂黑日期的函数是:
Datepicker1.BlackoutDates.AddDatesInPast()
Datepicker2.BlackoutDates.Add(New CalendarDateRange(DateTime.Now.AddDays(1), DateTime.MaxValue))
第一个函数将对过去的日期进行遮光,第二个函数将对所有将来的日期进行遮光。因为第二个功能需要一个“ DateRange”,所以我无法根据需要更改此功能。
提前致谢
杰瑞
我修改了其中一个示例,并提出了这个建议。
它为我工作。
private void MyDatePicker_CalendarOpened(object sender, RoutedEventArgs e)
{
MyDatePicker.DisplayDateStart = DateTime.Now;
MyDatePicker.DisplayDateEnd = DateTime.Now + TimeSpan.FromDays(1000);
var minDate = MyDatePicker.DisplayDateStart ?? DateTime.MinValue;
var maxDate = MyDatePicker.DisplayDateEnd ?? DateTime.MaxValue;
for (var d = minDate; d <= maxDate && DateTime.MaxValue > d; d = d.AddDays(1))
{
if (d.DayOfWeek == DayOfWeek.Monday || d.DayOfWeek == DayOfWeek.Tuesday)
{
MyDatePicker.BlackoutDates.Add(new CalendarDateRange(d));
}
}
}
还有一个好处:防止选择某些日期。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句