Una vista mensual con eventos que se leen de un vistazo. Los eventos de varios días aparecen en cada día que cubren, y un día cargado muestra un enlace +n más.
Por qué ayuda
- Eventos en una cuadrícula mensual
- Eventos de varios días
- Desbordamiento resuelto
Dónde encaja
- Calendarios de equipo
- Festivos
- Listados de eventos

Ejemplo
<EventCalendar Events="_events" @bind-Month="_month" OnEventClick="@(e => _last = e.Title)" OnDayClick="DayClicked" />
<span>Last click: @_last</span>
@code {
private DateTime _month = new(DateTime.Today.Year, DateTime.Today.Month, 1);
private string _last = "none";
private readonly List<CalendarEvent> _events = Build();
private void DayClicked(DateTime day) => _last = day.ToString("D");
private static List<CalendarEvent> Build()
{
var first = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1);
return
[
new("Planning", first.AddDays(2).AddHours(9)),
new("Release", first.AddDays(9), null, Severity.Success),
new("Conference", first.AddDays(11), first.AddDays(13), Severity.Warning),
new("Incident review", first.AddDays(11).AddHours(14), null, Severity.Error),
new("Team lunch", first.AddDays(11).AddHours(12), null, Severity.Neutral),
new("Demo", first.AddDays(11).AddHours(16)),
new("Retro", first.AddDays(20))
];
}
} Un breve fragmento. Añade @using RayCraft.Blazor.Components a tu página y usa un modo de renderizado interactivo.
Incluido en RayCraft Free. Hay ejemplos que funcionan en el repositorio de GitHub (MIT); contiene código de ejemplo y demostración, no el código de la biblioteca.