Ignite UI for Blazor Dialog 구성 요소는 일부 정보를 표시하거나 사용자에게 작업이나 확인을 요청하는 데 사용됩니다. 모달 창에 표시되므로 사용자는 대화 상자를 닫는 특정 작업이 수행될 때까지 기본 앱과 상호 작용할 수 없습니다.
Ignite UI for Blazor Dialog Example
이 샘플은 Blazor에서 Dialog 구성 요소를 만드는 방법을 보여줍니다.
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
Like this sample? Get access to our complete Ignite UI for Blazor toolkit and start building your own apps in minutes. Download it for free.
Usage
Ignite UI for Blazor에 대한 전체 소개를 보려면 시작하기 항목을 읽어보세요.
// in Program.cs file
builder.Services.AddIgniteUIBlazor(typeof(IgbDialogModule));
razor
대화 상자 구성 요소를 표시하는 가장 간단한 방법은 Show 메서드를 사용하고 버튼 클릭 시 호출하는 것입니다.
<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
Dialog 구성 요소는 애플리케이션 시나리오에 따라 해당 상태를 구성할 수 있는 기능을 제공하는 Open 속성을 제공합니다.
Title 속성을 사용하여 대화 상자의 제목을 설정합니다. 그러나 title 슬롯에 콘텐츠가 제공되면 해당 콘텐츠가 속성보다 우선적으로 적용됩니다.
작업 버튼이나 추가 정보는 footer 슬롯을 통해 대화 상자 하단에 배치할 수 있습니다. 콘텐츠가 추가되지 않은 경우 클릭하면 대화 상자를 닫는 기본 OK 버튼이 표시됩니다. 이 버튼을 표시하지 않으려면 HideDefaultAction 속성을 true로 설정하면 됩니다. 기본값은 false 입니다.
Closing
기본적으로 사용자가 ESC 키를 누르면 대화 상자가 자동으로 닫힙니다. KeepOpenOnEscape 속성을 사용하면 이 동작을 방지할 수 있습니다. 기본값은 false 입니다. 대화 상자에 열린 드롭다운(또는 ESC 내부적으로 처리해야 하는 다른 요소)이 있는 경우 ESC 한 번 누르면 드롭다운이 닫히고 다시 누르면 대화 상자가 닫힙니다.
CloseOnOutsideClick 속성을 사용하여 대화 상자 외부를 클릭할 때 대화 상자를 닫아야 하는지 구성합니다. 기본값은 false 입니다.
Form
양식 요소에 method="dialog" 속성이 있는 경우 대화 상자를 닫을 수 있습니다. 양식을 제출하면 대화 상자가 닫힙니다.
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