如何查找Silverlight日历控件中显示的日期?

时间:2009-10-08 21:44:33

标签: silverlight controls

我有一个包含日历控件的Silverlight应用程序。我想使用BlackoutDates属性“禁止”我们没有可用数据的日子。

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

2 个答案:

答案 0 :(得分:2)

找出哪些日期没有数据的操作有多贵?

如果价格便宜,只需将BlackoutDates属性设置为当前可见月份的所有日期和任意一侧的月份,让日历担心哪些是可见的,哪些不是。

答案 1 :(得分:0)

另一个解决方案是对SelectedDatesChanged事件做出反应以拒绝特定的日期选择, 例如周末的日期:

private void Calendar_SelectedDatesChanged(object sender, CalendarDateChangedEventArgs e)
{
//检查所有新添加的项目 foreach(e.AddedItems中的DateTime selectedDate)
{
if((selectedDate.DayOfWeek == DayOfWeek.Saturday)|| (selectedDate.DayOfWeek == DayOfWeek.Sunday))
{
lblError.Text =“不允许周末”;
//删除所选日期。 ((日历)发送方).SelectedDates.Remove(selectedDate);
}
}
}