For example, if you want to prevent the user from selecting all dates prior to February 2021 you can set the Min parameter to new DateTime(2021, 2, 1). In this case, if you navigate to 2022 and then try to navigate back to 2021 through the Decade view, it is not possible, you can only select future year.
Pressing the Today button works as expected.
===========
ADMIN EDIT
===========
Meanwhile, if you want to disable all past dates, a workaround you may try is handle the OnCellRender event of the Calendar and add a CSS class to the cells to style them as disabled. The sample below demonstrates how to achieve that.
<style>
.not-allowed-cell {
pointer-events: none;
cursor: not-allowed;
background-color: whitesmoke;
opacity: 0.6;
}
</style>
<TelerikCalendar @bind-Date="aDate" OnCellRender="RenderCell"></TelerikCalendar>
@code{
DateTime aDate { get; set; } = DateTime.Now;
void RenderCell(CalendarCellRenderEventArgs args)
{
switch (args.View)
{
case CalendarView.Month:
if (args.Date < DateTime.Today)
{
args.Class = "not-allowed-cell";
}
break;
case CalendarView.Year:
if (args.Date.Month < DateTime.Today.Month && args.Date.Year == DateTime.Today.Year)
{
args.Class = "not-allowed-cell";
}
break;
case CalendarView.Decade:
if (args.Date.Year < DateTime.Today.Year)
{
args.Class = "not-allowed-cell";
}
break;
case CalendarView.Century:
if (DateTime.Today.Year - args.Date.Year >= 10)
{
args.Class = "not-allowed-cell";
}
break;
default:
break;
}
}
}