2009-10-08 3 views
0

Calendar 컨트롤이 포함 된 Silverlight 응용 프로그램이 있습니다. BlackoutDates 속성을 사용하여 데이터를 사용할 수없는 '블랙 아웃'일을 원합니다.Silverlight Calendar 컨트롤에 표시된 날짜를 찾는 방법은 무엇입니까?

그래서 현재 보이는 모든 날짜를 찾는 간단한 방법을 찾고 있습니다 (지금은 월보기로 가정). brute force 방법을 사용할 수 있습니다. 월의 첫날에서 7 일을 더한 달의 마지막 날을 7 일 더한 값을 취하는 사람은 누구나 더 깨끗한 방법을 제안 할 수 있습니까?

답변

2

데이터가없는 날짜를 찾는 데 얼마나 비싼 작업입니까?

현재 보이는 달과 달에 대한 모든 날짜가 BlackoutDates 속성으로 설정되면 값이 비싸지 만 어느 것이 표시되는지, 어떤 표시가 아닌지 걱정할 수 있습니다.

0

또 다른 해결책은 특정 날짜 선택을 거부 할 SelectedDatesChanged 이벤트에 반응하는 것입니다, 같은 주말에 가을 날짜로 :

개인 무효 Calendar_SelectedDatesChanged (개체를 보낸 사람, CalendarDateChangedEventArgs 전자)
{
// 새로 추가 된 항목을 모두 확인하십시오.
의 foreach (e.AddedItems에서 날짜 시간되어 selectedDate)
{
((selectedDate.DayOfWeek == DayOfWeek.Saturday) || (selectedDate.DayOfWeek == DayOfWeek.Sunday)) {

경우 lblError.Text = "주말은 허용되지 않습니다";
// 선택한 날짜를 제거하십시오. ((캘린더) 발신자) .SelectedDates.Remove (selectedDate);
}
}
}

관련 문제