Skip to main content

Get Started with Blazor Rich Text Editor

  • 3 minutes to read

This topic describes how to create a new project or configure an existing project to use a DevExpress Rich Text Editor component.

Create a New Project (DevExpress Templates)

Follow this tutorial to create a Blazor application based on DevExpress project templates. To add the Rich Text Editor to the application, set the Add Rich Text Editor Resources option to true on the Settings tab.

Project Wizard - Settings

Configure an Existing Project (Microsoft Templates)

Follow the steps below to incorporate the Rich Text Editor into a Blazor app created with a Microsoft template.

1. Register Common DevExpress Resources

Install the DevExpress.Blazor NuGet package and register DevExpress resources used for all DevExpress Blazor components.

Read Tutorial: Create a Project

Read Tutorial: Register DevExpress Blazor Resources

2. Register Rich Text Editor Resources

  1. Install the DevExpress.Blazor.RichEdit NuGet package.

    1. Select ToolsNuGet Package ManagerManage NuGet Packages for Solution.

    2. In the invoked dialog, open the Browse tab, select the DevExpress package source, and install the DevExpress.Blazor.RichEdit NuGet package.

    The DevExpress package is automatically added as a package source to your NuGet configuration files if you use the DevExpress .NET Product Installer.

    NuGet Package Manager

  2. Register the Rich Text Editor’s CSS file in the <head> section of one of the following files:

    • Pages/_Layout.cshtml for Blazor Server applications created with a Microsoft template in .NET 6
    • Pages/_Host.cshtml for Blazor Server applications created with a DevExpress Template in .NET 6 and .NET 7 or with a Microsoft template in .NET 7
    • wwwroot/index.html for Blazor WebAssembly or Hybrid applications in .NET 6 and .NET 7
    • Components/App.razor for Blazor Web applications in .NET 8 and .NET 9

    If you do not implement any solutions to refresh cached resources on user machines, inject the IFileVersionProvider interface in the layout file. If you did not create the project from the DevExpress template, you also need to add the corresponding service in the Program.cs file:

    builder.Services.AddMvc();
    

    The interface ensures that web browsers on user machines use the actual version of DevExpress CSS resources instead of the previously cached version. Refer to HTTP caching for more information about the browser cache.

    @using Microsoft.AspNetCore.Mvc.ViewFeatures
    @inject IFileVersionProvider FileVersionProvider
    
    <head>
        @* ... *@
        <link href=@AppendVersion("_content/DevExpress.Blazor.RichEdit/dx-blazor-richedit.css") rel="stylesheet" />
    </head>
    
    @code {
        private string AppendVersion(string path) => FileVersionProvider.AddFileVersionToPath("/", path);
    }
    
  3. Register the DevExpress.Blazor.Office and DevExpress.Blazor.RichEdit namespaces in the Components/Imports.razor file:

    @using DevExpress.Blazor.Office
    @using DevExpress.Blazor.RichEdit
    
  4. Optional. Set up the Rich Text Editor’s culture. See the following topic for details: Localization.

Add a Rich Text Editor

Add the <DxRichEdit /> tag to the Pages/Index.razor page. Blazor Rich Text Editor does not support static render mode. You need to enable interactivity on a Razor page to allow Blazor Rich Text Editor to execute scripts and display data.

@rendermode InteractiveServer

<DxRichEdit />

Run the application to see the result:

Rich Text Editor