Blazor 아이콘 개요

    Blazor 아이콘 구성 요소를 사용하면 글꼴을 쉽게 표시하거나 미리 정의된 SVG 아이콘의 큰 세트에서 선택할 수 있을 뿐만 아니라 프로젝트에 대한 사용자 정의 글꼴 아이콘을 만들 수도 있습니다. 여러 속성을 활용하여 사용 중인 아이콘의 크기를 정의하거나 변경하거나 다른 스타일을 적용할 수 있습니다.

    Blazor Icon Example

    EXAMPLE
    MODULES
    RAZOR
    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

    IgbIcon 사용하기 전에 다음과 같이 등록해야 합니다.

    // in Program.cs file
    
    builder.Services.AddIgniteUIBlazor(typeof(IgbIconModule));
    razor

    IgbIcon 구성 요소에 스타일을 적용하려면 추가 CSS 파일을 연결해야 합니다. 다음은 Blazor Web Assembly 프로젝트의 wwwroot/index.html 파일이나 Blazor Server 프로젝트의 Pages/_Host.cshtml 파일에 배치해야 합니다.

    <link href="_content/IgniteUI.Blazor/themes/light/bootstrap.css" rel="stylesheet" />
    razor

    IgbIcon 자체적으로 아이콘이 포함되어 있지 않습니다. 등록된 SVG 이미지를 표시하기 위한 통로입니다.

    Adding Icons

    이미지를 아이콘으로 등록하려면 페이지의 아이콘 컬렉션에 아이콘을 추가할 수 있는 단일 IgbIcon 요소에 대해 2개의 "등록" 메소드 중 하나를 호출하기만 하면 됩니다.

    RegisterIcon 메서드를 사용하면 SVG 이미지를 외부 파일의 아이콘으로 등록할 수 있습니다.

    <IgbIcon @ref="@IconRef" />
    
    @code {
      private IgbIcon IconRef { get; set; }
    
      protected override void OnAfterRender(bool firstRender)
      {
         base.OnAfterRender(firstRender);
         if (this.IconRef != null && firstRender)
         {
           this.IconRef.RegisterIcon("search", "https://unpkg.com/material-design-icons@3.0.1/action/svg/production/ic_build_24px.svg", "material");
         }
      }
    }
    razor

    위의 방법은 search 라는 아이콘을 material 이라는 캐시된 컬렉션에 추가합니다.

    새로 등록된 아이콘을 사용하려면 IgbIcon 요소에 이름과 컬렉션을 전달하기만 하면 됩니다.

    IgbIcon IconName="search" Collection="material" />
    razor

    아이콘을 등록하는 두 번째 방법은 SVG 문자열을 RegisterIconFromText 메서드에 전달하는 것입니다.

    <IgbIcon @ref="@IconRef" />
    
    @code {
      private IgbIcon IconRef { get; set; }
    
      protected override void OnAfterRender(bool firstRender)
      {
         base.OnAfterRender(firstRender);
         if (this.IconRef != null && firstRender)
         {
           const string searchIcon = "<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'><path d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/></svg>";
           this.IconRef.RegisterIconFromText("search", searchIcon, "material");
         }
      }
    }
    razor

    그런 다음 위의 구성 요소 샘플에 설명된 것과 동일한 방식으로 사용합니다.

    크기

    아이콘 구성 요소는 small, medium (기본값) 및 large 세 가지 아이콘 크기를 지원합니다. 아이콘의 크기를 변경하려면 다음과 같이--ig-size CSS 변수를 활용할 수 있습니다.

    igc-icon {
      --ig-size: var(--ig-size-large);
    }
    css
    <IgbIcon Size="@SizableComponentSize.Large">
    razor

    EXAMPLE
    MODULES
    RAZOR
    CSS

    Mirrored

    일부 아이콘은 오른쪽에서 왼쪽(RTL) 모드에서 사용될 때 약간 다르게 표시되어야 합니다. 이러한 이유로 우리는 설정 시 아이콘을 수평으로 뒤집는 mirrored 속성을 제공합니다.

    IgbIcon IconName="search" Collection="material" Mirrored="true" />
    razor

    Styling

    IgbIcon 요소에 직접 스타일을 적용하여 아이콘 구성 요소의 스타일을 지정할 수 있습니다.

    igc-icon {
      --size: 28px;
      color: var(--ig-primary-500);
    }
    css

    EXAMPLE
    MODULES
    RAZOR
    CSS

    API References

    Additional Resources