2009-10-08 76 views
0

我有一个包含日历控件的Silverlight应用程序。我想使用BlackoutDates属性来“禁用”我们没有可用数据的日子。如何查找Silverlight日历控件中显示的日期?

所以我正在寻找一种简单的方法来查找当前可见的所有日期(现在假定是月视图)。我可以使用暴力方法,比如说,将月份的第一天减去七天到本月的最后一天再加上七天,但是谁能提出一个更清洁的方法?

回答

2

操作是多么昂贵,你找出哪些日期没有数据?

如果它很便宜,只需将BlackoutDates属性设置为当前可见月份和月份的所有日期,让日历担心哪些可见,哪些不可见。

0

另一种解决方案是使向SelectedDatesChanged事件拒绝特定日期选择, 诸如落在一个周末日期:

私人无效Calendar_SelectedDatesChanged(对象发件人, CalendarDateChangedEventArgs E)
{
//检查所有新增的项目。
的foreach(DateTime的selectedDate在e.AddedItems)
{
如果((selectedDate.DayOfWeek == DayOfWeek.Saturday)|| (selectedDate.DayOfWeek == DayOfWeek.Sunday))
{
lblError.Text =“周末不允许”;
//删除所选日期。 ((Calendar)sender).SelectedDates.Remove(selectedDate);
}
}
}