我有一个DatePicker,因此用户可以选择日期.
我希望用户只选择可用的日期.
并且可用日期存储在List中
到目前为止我有这个:
<DatePicker x:Name="DatePicker" SelectedDate="{Binding SearchEngineCompassLogView.DateSearch,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" DataContext="{StaticResource CompassLogView}"> </DatePicker>
解决方法
您可以使用BlackoutDates属性,但在此解决方案中,您必须指定displayDateStart和displayDateEnd.
BlackoutDates是一组无法选择的日期(msdn).
例:
<DatePicker x:Name="datePicker" Loaded="datePicker_Loaded" displayDateStart="2000/01/01" displayDateEnd="2050/01/01" />
加载的事件处理程序:
private void datePicker_Loaded(object sender,RoutedEventArgs e) { DatePicker picker = sender as DatePicker; if (picker.displayDateStart == null || picker.displayDateEnd == null) return; picker.BlackoutDates.Clear(); DateTime start = picker.displayDateStart.Value; DateTime end = picker.displayDateEnd.Value; while (start <= end) { if (!availableDates.Contains(start)) { picker.BlackoutDates.Add(new CalendarDaterange(start,start)); } start = start.AddDays(1); } }
可用日期的收集:
List<DateTime> availableDates = new List<DateTime> { new DateTime(2013,03,01),new DateTime(2013,02),03),31),02,05,02) };
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。