Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

ISpellCheckService.AddToDictionaryEnabled Property

Specifies whether the Rich Text Editor displays the Add to dictionary command in the context menu.

Namespace: DevExpress.Blazor.RichEdit

Assembly: DevExpress.Blazor.v24.2.dll

NuGet Package: DevExpress.Blazor

#Declaration

C#
bool AddToDictionaryEnabled { get; }

#Property Value

Type Description
Boolean

true to display the Add to dictionary command; otherwise, false.

#Remarks

Set this property to true to display the Add to dictionary command in the context menu. After a user clicks the command, the component passes the selected word to the AddToDictionary(String) method. Implement this method to save the word to your dictionary storage.

The following code snippet implements an ISpellCheckService interface:

C#
using DevExpress.Blazor.RichEdit;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;

public class MySpellCheckService : ISpellCheckService {
    public CultureInfo Culture { get; set; }
    public bool AddToDictionaryEnabled { get; }
    public int MaxSuggestionCount { get; }
    string PathToDictionary { get;}
    List<string> CorrectWords { get;}

    public MySpellCheckService(string path) {
        PathToDictionary = path;
        Culture = CultureInfo.InvariantCulture;
        AddToDictionaryEnabled = true;
        MaxSuggestionCount = 7;
        CorrectWords = File.ReadLines(PathToDictionary).ToList();
        CorrectWords.Sort();
    }

    public void AddToDictionary(string word) {
        if (Culture.TwoLetterISOLanguageName == "en") {
            word = word.ToLower();
            int placeToInsert = CorrectWords.BinarySearch(word);
            CorrectWords.Insert(placeToInsert, word);
            File.AppendAllText(PathToDictionary, word + '\n');
        }
    }

    public bool CheckWordSpelling(string word) {
        if (Culture.TwoLetterISOLanguageName == "en") {
            int index = CorrectWords.BinarySearch(word.ToLower());
            return (index >= 0);
        }
        return false;
    } 

    public string[] GetSpellingSuggestions(string word) {
        List<string> suggestions = new List<string>();
        // Generate suggestions and add them to the list
        return suggestions.ToArray();
    }
}

Refer to the following topic for more information about the built-in spell check service: Spell Check.

See Also