El componente Ignite UI for Blazor Calendar es liviano y fácil de configurar. Se utiliza para mostrar fechas y días de la semana. También es la mejor manera de proporcionar vistas mensuales o anuales a los usuarios finales. El control Ignite UI for Blazor Calendar le permite restringir los rangos de fechas mínimos y máximos por los que las personas pueden navegar.
La Ignite UI Ignite UI for Blazor Calendar ofrece una forma sencilla e intuitiva de mostrar información sobre fechas. Incluye distintas funciones, como modos de selección de una o varias fechas, resaltar y seleccionar un rango de fechas, navegación con teclado, habilitación de números de semana, opciones de tamaño y espaciado, y más.
Ejemplo de calendario Blazor
En el siguiente ejemplo de componente Blazor IgbCalendar se muestra un calendario básico con un modo de selección de un solo día. Vea cómo funciona o inspeccione el código que hay detrás.
EXAMPLE
MODULES
RAZOR
CSS
using System;
using System.Net.Http;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Text;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using IgniteUI.Blazor.Controls; // for registering Ignite UI modulesnamespaceInfragistics.Samples
{
publicclassProgram
{
publicstaticasync Task Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("app");
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
// registering Ignite UI modules
builder.Services.AddIgniteUIBlazor(
typeof(IgbInputModule),
typeof(IgbPropertyEditorPanelModule),
typeof(IgbCalendarModule)
);
await builder.Build().RunAsync();
}
}
}cs
/*
CSS styles are loaded from the shared CSS file located at:
https://static.infragistics.com/xplatform/css/samples/
*/css
¿Te gusta esta muestra? Obtenga acceso a nuestro kit de herramientas de Ignite UI for Blazor completo y comience a crear sus propias aplicaciones en minutos. Descárgalo gratis.
最速のデータ グリッド、高性能なチャート、すぐに使用できる機能のフルセットなどを含む 60 以上の再利用可能なコンポーネント を使用して、最新の Web エクスペリエンスを構築します。
Antes de utilizar IgbCalendar, debe registrarlo de la siguiente manera:
// in Program.cs file
builder.Services.AddIgniteUIBlazor(typeof(IgbCalendarModule));
razor
También deberá vincular un archivo CSS adicional para aplicar el estilo al componente Ignite UI for Blazor IgbCalendar. Lo siguiente debe colocarse en el archivo wwwroot/index.html de un proyecto de Blazor Web Assembly o en el archivo Pages/_Host.cshtml de un proyecto de Blazor Server:
Para obtener una introducción completa a la Ignite UI for Blazor, lea el tema Primeros pasos.
La forma más sencilla de empezar a utilizar el Ignite UI for Blazor IgbCalendar es la siguiente:
<IgbCalendar />razor
Modos de selección
Los usuarios pueden elegir entre tres modos de selección diferentes: selección única, selección múltiple o selección de rango. De forma predeterminada, el Ignite UI for Blazor IgbCalendar utiliza el modo de selección única, pero puede cambiarlo estableciendo la Selection propiedad como se muestra en este ejemplo.
using System;
using System.Net.Http;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Text;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using IgniteUI.Blazor.Controls; // for registering Ignite UI modulesnamespaceInfragistics.Samples
{
publicclassProgram
{
publicstaticasync Task Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("app");
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
// registering Ignite UI modules
builder.Services.AddIgniteUIBlazor(
typeof(IgbInputModule),
typeof(IgbPropertyEditorPanelModule),
typeof(IgbCalendarModule)
);
await builder.Build().RunAsync();
}
}
}cs
using System;
using System.Net.Http;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Text;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using IgniteUI.Blazor.Controls; // for registering Ignite UI modulesnamespaceInfragistics.Samples
{
publicclassProgram
{
publicstaticasync Task Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("app");
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
// registering Ignite UI modules
builder.Services.AddIgniteUIBlazor(
typeof(IgbInputModule),
typeof(IgbPropertyEditorPanelModule),
typeof(IgbCalendarModule)
);
await builder.Build().RunAsync();
}
}
}cs
/*
CSS styles are loaded from the shared CSS file located at:
https://static.infragistics.com/xplatform/css/samples/
*/css
Vista activa y fecha
El componente Calendario Ignite UI for Blazor le permite cambiar entre tres vistas diferentes: días, meses y años. La ActiveView propiedad del componente refleja la vista actual. De forma predeterminada, el calendario muestra la fecha actual cuando se carga inicialmente. Puede modificar esto estableciendo la ActiveDate propiedad. La ActiveDate propiedad también refleja los cambios de la fecha actualmente visible realizados por el usuario final.
Números de semana
Puede utilizar la propiedad ShowWeekNumbers para mostrar los números de semana del componente Calendario. Puedes hacer esto usando su atributo booleano correspondiente show-week-numbers como este:
<IgbCalendarShowWeekNumbers="true" />razor
La siguiente demostración ilustra un Calendario con números de semana habilitados:
EXAMPLE
MODULES
RAZOR
CSS
using System;
using System.Net.Http;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Text;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using IgniteUI.Blazor.Controls; // for registering Ignite UI modulesnamespaceInfragistics.Samples
{
publicclassProgram
{
publicstaticasync Task Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("app");
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
// registering Ignite UI modules
builder.Services.AddIgniteUIBlazor(
typeof(IgbInputModule),
typeof(IgbPropertyEditorPanelModule),
typeof(IgbCalendarModule)
);
await builder.Build().RunAsync();
}
}
}cs
/*
CSS styles are loaded from the shared CSS file located at:
https://static.infragistics.com/xplatform/css/samples/
*/css
Varios meses
Con la propiedad VisibleMonths, puede mostrar más de un mes cuando el Calendario está en vista days. Cuando se muestran varios meses, puede configurar si desea apilarlos vertical u horizontalmente utilizando la propiedad Orientation. De forma predeterminada, la propiedad Orientation está establecida en horizontal.
El Calendario muestra las fechas iniciales y finales del mes anterior y siguiente. Puede ocultar estas fechas estableciendo la propiedad HideOutsideDays en verdadero o usando su atributo booleano correspondiente HideOutsideDays.
El siguiente ejemplo demuestra la configuración de varios meses:
EXAMPLE
MODULES
RAZOR
CSS
using System;
using System.Net.Http;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Text;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using IgniteUI.Blazor.Controls; // for registering Ignite UI modulesnamespaceInfragistics.Samples
{
publicclassProgram
{
publicstaticasync Task Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("app");
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
// registering Ignite UI modules
builder.Services.AddIgniteUIBlazor(
typeof(IgbInputModule),
typeof(IgbPropertyEditorPanelModule),
typeof(IgbCalendarModule)
);
await builder.Build().RunAsync();
}
}
}cs
/*
CSS styles are loaded from the shared CSS file located at:
https://static.infragistics.com/xplatform/css/samples/
*/css
Tamaño
Puede controlar el tamaño y el espaciado de los elementos internos del calendario utilizando la variable CSS--ig-size. El tamaño predeterminado del componente es grande.
EXAMPLE
MODULES
RAZOR
CSS
using System;
using System.Net.Http;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Text;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using IgniteUI.Blazor.Controls; // for registering Ignite UI modulesnamespaceInfragistics.Samples
{
publicclassProgram
{
publicstaticasync Task Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("app");
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
// registering Ignite UI modules
builder.Services.AddIgniteUIBlazor(
typeof(IgbInputModule),
typeof(IgbPropertyEditorPanelModule),
typeof(IgbCalendarModule)
);
await builder.Build().RunAsync();
}
}
}cs
Cuando se enfoca un día/mes/año en el componente IgbCalendar, use:
Tecla Re Pág para pasar a la página del mes/año/año anterior.
Tecla AvPág para pasar a la página del mes/año/año siguiente.
Tecla de inicio para enfocar el primer día del mes actual/primer mes a la vista/primer año a la vista.
Tecla Fin para enfocar el último día del mes actual/último mes visto/último año visto.
Teclas de flecha para navegar por los días/meses/años. Navegar antes del primer elemento y después del último elemento cambiará la vista a la página del mes/año/año siguiente/anterior.
Cuando un día dentro de la vista days esté enfocado, use:
Teclas Shift + Re Pág para pasar al año anterior.
Teclas Shift + Av Pág para pasar al año siguiente.
Tecla Espacio o Intro para seleccionar el día enfocado actualmente.
Cuando se enfoca un mes dentro de la vista months, use:
Tecla Espacio o Intro para cambiar ActiveDate al mes actualmente enfocado y cambiar a la vista days.
Cuando se enfoca un año dentro de la vista years, use:
Tecla Espacio o Intro para cambiar ActiveDate al año actualmente enfocado y cambiar a la vista months.
Cuando los botones anterior o siguiente (en el subtítulo) estén enfocados, use:
Tecla Espacio o Intro para cambiar a la página del mes/año/año anterior/siguiente.
Cuando el botón del mes (en el subtítulo) esté enfocado, use:
Tecla Espacio o Intro para cambiar a la vista months.
Cuando el botón del año (en el subtítulo) esté enfocado, use:
Tecla Espacio o Intro para cambiar a la vista years.
Estilo
El componente Calendario expone partes CSS para casi todos sus elementos internos. La siguiente tabla enumera todas las partes CSS expuestas por el Calendario:
Nombre
Descripción
encabezamiento
El elemento de encabezado.
título-encabezado
El elemento del título del encabezado.
fecha-encabezado
El elemento de fecha del encabezado.
contenido
El elemento de contenido que contiene las vistas y los elementos de navegación.
navegación
El elemento contenedor de navegación.
meses-navegacion
El elemento del botón de navegación de meses.
años-navegación
El elemento del botón de navegación de años.
rango de años
El elemento de rango de años.
botones de navegacion
El contenedor de botones de navegación.
botón de navegación
Botón de navegación anterior/siguiente.
contenedor-vista-días
El elemento contenedor de vista de días.
vista de días
Elemento de vista de días.
vista de meses
El elemento de vista de meses.
vista de años
El elemento de vista de años.
fila de días
Elemento de fila de días.
etiqueta
Elemento de etiqueta de encabezado de semana.
Número de la semana
Elemento de número de semana.
número-de-semana-interno
Elemento interior del número de semana.
fecha
Elemento de fecha.
fecha interna
Elemento interior de fecha.
primero
El primer elemento de fecha seleccionado.
último
El último elemento de fecha seleccionado.
inactivo
Elemento de fecha inactivo.
oculto
Elemento de fecha oculto.
fin de semana
Elemento de fecha de fin de semana.
rango
Rango del elemento seleccionado.
especial
Elemento de fecha especial.
desactivado
Elemento de fecha deshabilitado.
soltero
Elemento de fecha único seleccionado.
avance
Elemento de fecha de vista previa de selección de rango.
mes
Elemento mes.
mes interior
Elemento interior del mes.
año
Elemento año.
año interno
Elemento interior del año.
seleccionado
Indica el estado seleccionado. Se aplica a los elementos de fecha, mes y año.
actual
Indica el estado actual. Se aplica a los elementos de fecha, mes y año.
Usando estas partes CSS podemos personalizar la apariencia del componente Calendario de esta manera:
El siguiente ejemplo demuestra la configuración CSS anterior:
EXAMPLE
MODULES
RAZOR
CalendarStyling.css
index.css
using System;
using System.Net.Http;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Text;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using IgniteUI.Blazor.Controls; // for registering Ignite UI modulesnamespaceInfragistics.Samples
{
publicclassProgram
{
publicstaticasync Task Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("app");
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
// registering Ignite UI modules
builder.Services.AddIgniteUIBlazor(
typeof(IgbInputModule),
typeof(IgbPropertyEditorPanelModule),
typeof(IgbCalendarModule)
);
await builder.Build().RunAsync();
}
}
}cs