Skip to main content
All docs
V25.2
  • DxTagBox<TData, TValue>.TagDisplayTemplate Property

    Specifies the template to display tags in the edit box.

    Namespace: DevExpress.Blazor

    Assembly: DevExpress.Blazor.v25.2.dll

    NuGet Package: DevExpress.Blazor

    Declaration

    [Parameter]
    public RenderFragment<TagBoxTagDisplayTemplateContext<TData>> TagDisplayTemplate { get; set; }

    Property Value

    Type Description
    RenderFragment<TagBoxTagDisplayTemplateContext<TData>>

    The template content.

    Remarks

    Use the TagDisplayTemplate property to customize tag appearance. The property accepts a TagBoxTagDisplayTemplateContext<TData> object as the context parameter. You can use the parameter’s members to obtain tag information.

    The following code snippet customizes a tag appearance according to its type and text.

            <DxTagBox Data="@Data"
                      TextFieldName="@nameof(City.CityName)"
                      TData="City"
                      TValue="City"
                      AllowCustomTags="true"
                      @bind-Tags="@Tags"
                      ListRenderMode="ListRenderMode.Virtual"
                      SizeMode="Params.SizeMode"
                      CssClass="cw-480"
                      InputId="tbTagTemplate">
                <TagDisplayTemplate Context="tagContext">
                    @{
                        var buttonStyleMode = tagContext.IsCustom ? ButtonRenderStyleMode.Contained : GetModeByID(tagContext.DataItem.CityName);
                        var buttonStyle = tagContext.IsCustom ? ButtonRenderStyle.Dark : ButtonRenderStyle.Primary;
                        <DxButton tabindex="-1"
                                  RenderStyle="@buttonStyle"
                                  RenderStyleMode="@buttonStyleMode"
                                  Text="@tagContext.DisplayText"
                                  CssClass="tagbox-tag-template-btn">
    
                            @context
                            <span @onclick="@tagContext.RemoveTagAction" class="tagbox-tag-template-close-btn-icon">&times;</span>
                        </DxButton>
                    }
                </TagDisplayTemplate>
            </DxTagBox>
    @* ... *@
    
    @code {
        IEnumerable<City> Data { get; set; }
        IEnumerable<string> Tags { get; set; }
    
        protected override async Task OnInitializedAsync() {
            Data = await WorldcitiesDataService.GetCitiesAsync();
            Tags = new List<string>() { "New York", "Los Angeles", "Tokyo" };
        }
    
        ButtonRenderStyleMode GetModeByID(string cityName) {
            switch(cityName) {
                case "New York":
                    return ButtonRenderStyleMode.Contained;
                case "Los Angeles":
                    return ButtonRenderStyleMode.Outline;
                default:
                    return ButtonRenderStyleMode.Text;
            }
        }
    }
    

    TagBox Template

    Run Demo: TagBox - Tag Display Template

    Implements

    DevExpress.Blazor.ITagBox<TData, TValue>.TagDisplayTemplate
    See Also