El componente de diálogo de Ignite UI for Blazor se utiliza para mostrar información o solicitar al usuario una acción o confirmación. Se muestra en una ventana modal, lo que significa que el usuario no puede interactuar con la aplicación principal hasta que se realice una determinada acción que cierre el diálogo.
Ejemplo de diálogo Ignite UI for Blazor
Este ejemplo demuestra cómo crear un componente de diálogo en Blazor.
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;
// required for registering IgniteUIBlazorusing IgniteUI.Blazor.Controls;
namespaceInfragistics.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 Infragistics Blazor
builder.Services.AddIgniteUIBlazor(
typeof(IgbButtonModule),
typeof(IgbDialogModule)
);
await builder.Build().RunAsync();
}
}
}cs
@using IgniteUI.Blazor.Controls<divclass="container vertical"><IgbButton @onclick="OnDialogShow"Variant=@ButtonVariant.Contained>Show Dialog</IgbButton><IgbDialog @ref="DialogRef"Title="Confirmation"><p>Are you sure you want to delete the Annual_Report_2016.pdf and Annual_Report_2017.pdf files?</p><IgbButtonslot="footer" @onclick="OnDialogHide"Variant=@ButtonVariant.Flat>Cancel</IgbButton><IgbButtonslot="footer" @onclick="OnDialogHide"Variant=@ButtonVariant.Flat>OK</IgbButton></IgbDialog></div>@code {public IgbDialog DialogRef;
publicasync Task OnDialogShow()
{
if (this.DialogRef != null)
{
awaitthis.DialogRef.ShowAsync();
}
}
publicasync Task OnDialogHide()
{
if (this.DialogRef != null)
{
awaitthis.DialogRef.HideAsync();
}
}
}razor
/*
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.
Uso
Para obtener una introducción completa a la Ignite UI for Blazor, lea el tema Primeros pasos.
Antes de usar el Blazor IgbDialog, debe registrarlo de la siguiente manera:
// in Program.cs file
builder.Services.AddIgniteUIBlazor(typeof(IgbDialogModule));
razor
La forma más sencilla de mostrar el componente de diálogo es utilizar su método Show y llamarlo al hacer clic en un botón.
<divclass="container vertical"><IgbButton @onclick="OnDialogShow"Variant=@ButtonVariant.Contained>Show Dialog</IgbButton><IgbDialog @ref="DialogRef"Title="Confirmation"><p>Are you sure you want to delete the Annual_Report_2016.pdf and Annual_Report_2017.pdf files?</p><IgbButtonslot="footer" @onclick="OnDialogHide"Variant=@ButtonVariant.Flat>Cancel</IgbButton><IgbButtonslot="footer" @onclick="OnDialogHide"Variant=@ButtonVariant.Flat>OK</IgbButton></IgbDialog></div>@code {public IgbDialog DialogRef;
publicasync Task OnDialogShow()
{
if (this.DialogRef != null)
awaitthis.DialogRef.ShowAsync();
}
publicasync Task OnDialogHide()
{
if (this.DialogRef != null)
awaitthis.DialogRef.HideAsync();
}
}razor
El componente Diálogo proporciona una propiedad Open, que le brinda la posibilidad de configurar su estado según el escenario de su aplicación.
Utilice la propiedad Title para establecer el título del diálogo. Sin embargo, si se proporciona algún contenido en el espacio title, tendrá prioridad sobre la propiedad.
Se pueden colocar botones de acción o información adicional en la parte inferior del cuadro de diálogo a través de la ranura del pie footer. Si no se agrega ningún contenido allí, se mostrará un botón OK predeterminado que cierra el cuadro de diálogo al hacer clic. En caso de que no desee que se muestre este botón, puede establecer la propiedad HideDefaultAction en verdadero. El valor predeterminado es falso.
Clausura
De forma predeterminada, el cuadro de diálogo se cierra automáticamente cuando el usuario presiona ESC. Puede evitar este comportamiento utilizando la propiedad KeepOpenOnEscape. El valor predeterminado es falso. Si hay un menú desplegable abierto (o cualquier otro elemento que deba manejar ESC internamente) en el cuadro de diálogo, presionar ESC una vez cerrará el menú desplegable y presionarlo nuevamente cerrará el cuadro de diálogo.
Utilice la propiedad CloseOnOutsideClick para configurar si el cuadro de diálogo debe cerrarse al hacer clic fuera de él. El valor predeterminado es falso.
Forma
Los elementos del formulario pueden cerrar un cuadro de diálogo si tienen el atributo method="dialog". Al enviar el formulario se cerrará el cuadro de diálogo.
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;
// required for registering IgniteUIBlazorusing IgniteUI.Blazor.Controls;
namespaceInfragistics.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 Infragistics Blazor
builder.Services.AddIgniteUIBlazor(
typeof(IgbButtonModule),
typeof(IgbDialogModule),
typeof(IgbIconModule),
typeof(IgbInputModule)
);
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;
// required for registering IgniteUIBlazorusing IgniteUI.Blazor.Controls;
namespaceInfragistics.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 Infragistics Blazor
builder.Services.AddIgniteUIBlazor(
typeof(IgbButtonModule),
typeof(IgbDialogModule)
);
await builder.Build().RunAsync();
}
}
}cs
@using IgniteUI.Blazor.Controls<style>
igc-dialog::part(content) {
background: #011627;
color: white;
}
igc-dialog::part(title),
igc-dialog::part(footer) {
background: #011627;
color: #ECAA53;
}
</style><divclass="container vertical"><IgbButton @onclick="OnDialogShow"Variant=@ButtonVariant.Contained>Show Dialog</IgbButton><IgbDialog @ref="DialogRef"Title="Confirmation"><p>Are you sure you want to delete the Annual_Report_2016.pdf and Annual_Report_2017.pdf files?</p><IgbButtonslot="footer" @onclick="OnDialogHide"Variant=@ButtonVariant.Flat>Cancel</IgbButton><IgbButtonslot="footer" @onclick="OnDialogHide"Variant=@ButtonVariant.Flat>OK</IgbButton></IgbDialog></div>@code {public IgbDialog DialogRef;
publicasync Task OnDialogShow()
{
if (this.DialogRef != null)
{
awaitthis.DialogRef.ShowAsync();
}
}
publicasync Task OnDialogHide()
{
if (this.DialogRef != null)
{
awaitthis.DialogRef.HideAsync();
}
}
}razor
/*
CSS styles are loaded from the shared CSS file located at:
https://static.infragistics.com/xplatform/css/samples/
*/css