Example #1
0
        private void RecreateDays()
        {
            if (container != null)
            {
                PreChangeAnimate();
                calendarDays = CreateVisibleDaysCollection();
                container.SelectedItems.Clear();
                container.ItemsSource = calendarDays;
                PostChangeAnimate();

                UpdateContainerSelection();
            }
        }
Example #2
0
        private void RecreateDays()
        {
            if(container != null)
            {
                PreChangeAnimate();
                calendarDays = CreateVisibleDaysCollection();
                container.SelectedItems.Clear();
                container.ItemsSource = calendarDays;
                PostChangeAnimate();

                UpdateContainerSelection();
            }
        }
Example #3
0
        private CalendarDayCollection CreateVisibleDaysCollection()
        {
            var collection     = new CalendarDayCollection();
            var NumberOfDays   = CultureHelper.CurrentCalendar.GetDaysInMonth(ViewYear, ViewMonth);
            var dtStartOfMonth = new DateTime(ViewYear, ViewMonth, 1, 0, 0, 0, CultureHelper.CurrentCalendar);

            int TotalDays = 0;
            int FirstDay  = CultureHelper.GetDayOfWeek(dtStartOfMonth, CultureHelper.CurrentCalendar);

            int LastMonth = ViewMonth;
            int LastYear  = ViewYear;

            if (ViewMonth - 1 < 1 && LastYear > 1)
            {
                LastMonth = 12;
                LastYear--;
            }
            else if (ViewMonth - 1 > 0)
            {
                LastMonth--;
            }

            int PrevMonthDays = CultureHelper.CurrentCalendar.GetDaysInMonth(LastYear, LastMonth);
            int LastingDays   = PrevMonthDays - FirstDay;

            //Create Pre-Day paddings
            for (int i = LastingDays; i < PrevMonthDays; i++)
            {
                var newDay = new CalendarDay(new DateTime(LastYear, LastMonth, i + 1, 0, 0, 0, CultureHelper.CurrentCalendar));
                newDay.IsOtherMonth = true;
                newDay.IsSelectable = false;
                collection.Add(newDay);

                TotalDays++;
            }

            //Create CurrentMonth Days
            for (int i = 1; i <= NumberOfDays; i++)
            {
                var newDay = new CalendarDay(new DateTime(ViewYear, ViewMonth, i, 0, 0, 0, CultureHelper.CurrentCalendar));
                newDay.IsOtherMonth = false;
                newDay.IsSelectable = true;

                collection.Add(newDay);
                TotalDays++;
            }

            int EndDay;

            if (FirstDay != 0)
            {
                EndDay = NumberOfDays + 1;
            }
            else
            {
                EndDay = NumberOfDays;
            }

            //Create Post-Padding Days
            for (int i = EndDay; i < 42; i++)
            {
                if (TotalDays == 42)
                {
                    break;
                }

                var newDay = new CalendarDay(new DateTime(ViewYear, ViewMonth, i - EndDay + 1, 0, 0, 0, CultureHelper.CurrentCalendar));

                newDay.IsOtherMonth = true;
                newDay.IsSelectable = false;

                collection.Add(newDay);
            }

            return(collection);
        }
Example #4
0
        private CalendarDayCollection CreateVisibleDaysCollection()
        {
            var collection = new CalendarDayCollection();
            var NumberOfDays = CultureHelper.CurrentCalendar.GetDaysInMonth(ViewYear, ViewMonth);
            var dtStartOfMonth = new DateTime(ViewYear, ViewMonth, 1, 0, 0, 0, CultureHelper.CurrentCalendar);

            int TotalDays = 0;
            int FirstDay = CultureHelper.GetDayOfWeek(dtStartOfMonth, CultureHelper.CurrentCalendar);

            int LastMonth = ViewMonth;
            int LastYear = ViewYear;

            if (ViewMonth - 1 < 1 && LastYear > 1)
            {
                LastMonth = 12;
                LastYear--;
            }
            else if(ViewMonth - 1 > 0)
            {
                LastMonth--;
            }

            int PrevMonthDays = CultureHelper.CurrentCalendar.GetDaysInMonth(LastYear, LastMonth);
            int LastingDays = PrevMonthDays - FirstDay;

            //Create Pre-Day paddings
            for(int i=LastingDays; i<PrevMonthDays; i++)
            {
                var newDay = new CalendarDay(new DateTime(LastYear, LastMonth, i + 1, 0, 0, 0, CultureHelper.CurrentCalendar));
                newDay.IsOtherMonth = true;
                newDay.IsSelectable = false;
                collection.Add(newDay);

                TotalDays++;
            }

            //Create CurrentMonth Days
            for(int i=1; i<= NumberOfDays; i++)
            {
                var newDay = new CalendarDay(new DateTime(ViewYear, ViewMonth, i, 0, 0, 0, CultureHelper.CurrentCalendar));
                newDay.IsOtherMonth = false;
                newDay.IsSelectable = true;

                collection.Add(newDay);
                TotalDays++;
            }

            int EndDay;
            if(FirstDay != 0)
            {
                EndDay = NumberOfDays + 1;
            }
            else
            {
                EndDay = NumberOfDays;
            }

            //Create Post-Padding Days
            for(int i=EndDay; i<42; i++)
            {
                if(TotalDays == 42)
                    break;

                var newDay = new CalendarDay(new DateTime(ViewYear, ViewMonth, i - EndDay + 1, 0, 0, 0, CultureHelper.CurrentCalendar));

                newDay.IsOtherMonth = true;
                newDay.IsSelectable = false;

                collection.Add(newDay);
            }

            return collection;
        }