protected internal void OnMaxMinDateChanged(DateTime minDate, DateTime maxDate)
        {
            int count = CalendarDays.Count;

            for (int i = 0; i < count; ++i)
            {
                CalendarDays[i].IsSelectable = FXMonthViewHelper.IsWithinRange(CalendarDays[i].Date, minDate, maxDate);
            }
        }
        protected internal static void OnMinDateChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            var mv          = (FXMonthView)d;
            var oldMaxDate  = mv.MaxDate;
            var oldViewDate = mv.ViewDateTime;

            mv.CoerceValue(MaxDateProperty);
            mv.CoerceValue(ViewDateTimeProperty);

            if (FXMonthViewHelper.CompareYearMonthDay(oldMaxDate, mv.MaxDate) == 0 &&
                FXMonthViewHelper.CompareYearMonth(oldViewDate, mv.ViewDateTime) == 0)
            {
                mv.OnMaxMinDateChanged((DateTime)e.NewValue, mv.MaxDate);
            }
        }