Skip to main content
All docs
V24.1

ICharacterProperties.UnderlineWordsOnly Property

Returns whether space and tab characters are underlined in addition to other characters.

Namespace: DevExpress.Blazor.RichEdit

Assembly: DevExpress.Blazor.RichEdit.v24.1.dll

NuGet Package: DevExpress.Blazor.RichEdit

Declaration

bool? UnderlineWordsOnly { get; }

Property Value

Type Description
Nullable<Boolean>

true if no space or tab character is underlined; false if all space and tab characters are underlined; null if only some space and tab characters are underlined.

Remarks

A cell stores its text formatting settings in the CharacterProperties property. The Underline property returns whether characters are underlined. The following properties affect underline appearance:

UnderlineWordsOnly
Returns whether space and tab characters are underlined in addition to other characters.
UnderlineColor
Returns the underline color. If this property is set to Empty, the underline color of the characters depends on the ForegroundColor property value.

Call the cell’s ChangePropertiesAsync method to change the underline color of table cell characters. The following example underlines all characters in the first row:

<DxRichEdit @ref="richEdit" />

@code {
    DxRichEdit richEdit;
    protected override async Task OnAfterRenderAsync(bool firstRender) {
        if (firstRender)
            try {
                await InitializeDocument();
            }
            catch (TaskCanceledException) { }
        await base.OnAfterRenderAsync(firstRender);
    }

    async Task InitializeDocument() {
    /* Surround the code that contains an asynchronous operation with a try-catch block to handle
    the OperationCanceledException. This exception is thrown when an asynchronous operation is canceled. */
        try {
            var columnCount = 4;
            var rowCount = 5;
            richEdit.DocumentAPI.BeginUpdate();
            // Creates a table
            Table myTable = await richEdit.DocumentAPI.Tables.CreateAsync(0, columnCount, rowCount);
            for (int i = rowCount-1; i >=0 ; i--)
                for (int j = columnCount-1; j >=0 ; j--) {
                    var cellPosition = myTable.Rows[i].Cells[j].Interval.Start;
                    await richEdit.DocumentAPI.AddTextAsync(cellPosition, "sample text");
                }
            // Customizes the table
            myTable = await richEdit.DocumentAPI.Tables.GetAsync(0);
            var firstRow = myTable.Rows[0];
            foreach (TableCell cell in firstRow.Cells)
                if (cell.CharacterProperties.UnderlineWordsOnly != false )
                    await cell.ChangePropertiesAsync(properties => {
                        properties.CharacterProperties.Underline = true;
                        properties.CharacterProperties.UnderlineWordsOnly = false;
                    });
            richEdit.DocumentAPI.EndUpdate();
        }
        catch (OperationCanceledException e) {
            Console.WriteLine($"{nameof(OperationCanceledException)} thrown with message: {e.Message}");
        }
    }
}
See Also