feat: disable year out of range.
This commit is contained in:
@@ -529,5 +529,10 @@ public class CalendarView : TemplatedControl
|
||||
_monthButton?.SetValue(ContentControl.ContentProperty,
|
||||
DateTimeHelper.GetCurrentDateTimeFormatInfo().AbbreviatedMonthNames[ContextCalendar.Month-1 ?? 0]);
|
||||
}
|
||||
|
||||
bool canForward = !(ContextCalendar.EndYear <= 0) && !(ContextCalendar.Year <= 0);
|
||||
bool canNext = !(ContextCalendar.StartYear > 9999) && !(ContextCalendar.EndYear > 9999);
|
||||
IsEnabledProperty.SetValue(canForward, _previousButton, _fastPreviousButton);
|
||||
IsEnabledProperty.SetValue(canNext, _nextButton, _fastNextButton);
|
||||
}
|
||||
}
|
||||
@@ -39,15 +39,27 @@ public class CalendarYearButton : ContentControl
|
||||
CalendarContext.Year = context.Year;
|
||||
CalendarContext.StartYear = context.StartYear;
|
||||
CalendarContext.EndYear = context.EndYear;
|
||||
this.Mode = mode;
|
||||
Content = Mode switch
|
||||
Mode = mode;
|
||||
switch (Mode)
|
||||
{
|
||||
CalendarViewMode.Year => DateTimeHelper.GetCurrentDateTimeFormatInfo().AbbreviatedMonthNames[ CalendarContext.Month ?? 0 ],
|
||||
CalendarViewMode.Decade => CalendarContext.Year?.ToString(),
|
||||
CalendarViewMode.Century => CalendarContext.StartYear + "-" + CalendarContext.EndYear,
|
||||
// CalendarViewMode.Century => CalendarContext.StartYear + "-" + CalendarContext.EndYear,
|
||||
_ => Content
|
||||
};
|
||||
case CalendarViewMode.Year:
|
||||
Content = DateTimeHelper.GetCurrentDateTimeFormatInfo()
|
||||
.AbbreviatedMonthNames[CalendarContext.Month ?? 0];
|
||||
break;
|
||||
case CalendarViewMode.Decade:
|
||||
Content = CalendarContext.Year <= 0 || CalendarContext.Year > 9999
|
||||
? null
|
||||
: CalendarContext.Year?.ToString();
|
||||
break;
|
||||
case CalendarViewMode.Century:
|
||||
Content = CalendarContext.EndYear <= 0 || CalendarContext.StartYear > 9999
|
||||
? null
|
||||
: CalendarContext.StartYear + "-" + CalendarContext.EndYear;
|
||||
break;
|
||||
default:
|
||||
Content = null;
|
||||
break;
|
||||
}
|
||||
IsEnabled = Content != null;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user