Skip to main content

List.ChangeLevelPropertiesAsync(Int32, Action<ListLevelProperties>, CancellationToken) Method

Sets list level properties.

Namespace: DevExpress.Blazor.RichEdit

Assembly: DevExpress.Blazor.RichEdit.v23.2.dll

NuGet Package: DevExpress.Blazor.RichEdit

Declaration

public ValueTask<bool> ChangeLevelPropertiesAsync(
    int levelIndex,
    Action<ListLevelProperties> modifier,
    CancellationToken cancellationToken = default(CancellationToken)
)

Parameters

Name Type Description
levelIndex Int32

The list level index in the collection.

modifier Action<ListLevelProperties>

A delegate method that configures list level properties.

Optional Parameters

Name Type Default Description
cancellationToken CancellationToken null

An object that propagates a cancellation notification.

Returns

Type Description
ValueTask<Boolean>

A structure that stores an awaitable result of an asynchronous operation. The awaitable result is true if the operation ends successfully; otherwise, it is false.

Remarks

The type of the list defines default settings for list levels. Pass a ListLevelProperties object to the ChangeLevelPropertiesAsync method to specify a list level’s properties. You can specify list level properties manually or call the CopyFrom(ListLevel) method to copy properties from another list level.

<DxRichEdit @ref="richEdit" />

@code {
    DxRichEdit richEdit;
    Document documentAPI;
    /* 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 {
            documentAPI = richEdit.DocumentAPI;
            List multiLevelList = await documentAPI.Lists.CreateAsync(ListType.MultiLevel);
            IReadOnlyList<ListLevel> listLevels = multiLevelList.ListLevels;
            ListLevel firstLevel = listLevels[0];
            for (int i = 1; i < 9; i++)
                await multiLevelList.ChangeLevelPropertiesAsync(i, properties => {
                    properties.CopyFrom(firstLevel);
                    properties.LeftIndent = firstLevel.LeftIndent + 300 * i;
                    if (multiLevelList.Type == ListType.Number)
                        properties.DisplayFormatString = "{" + i.ToString() + "}";
                });
        }
        catch (OperationCanceledException e) {
            Console.WriteLine($"{nameof(OperationCanceledException)} thrown with message: {e.Message}");
        }
}
See Also