User Dictionary
Domain-specific terms, abbreviations, and other words absent from the general-purpose dictionary are flagged by inline spell checking, and a document full of part numbers, legal terms, or a customer's name will light up with squiggles on nearly every one of them. The user dictionary fixes that: it lets a user add such a word once and never see it flagged again, in this session or a later one, without you touching the dictionary file shipped with your app. This page shows how to enable the feature, point it at a writable file, and what the user sees when they add a word.
What the user sees
When inline spell checking flags a word, the user right-clicks it. The suggestion context menu appears, and below the suggested corrections is an entry labelled Add to Dictionary. Selecting it removes the squiggle immediately, persists the word to a file, and prevents the word from being flagged again, even in a later session.

Turning the feature on
Two settings on SpellCheckOptions control this: one enables the menu entry, the other sets the file path where words are stored. A common pattern uses each user's Windows profile folder so the dictionary follows them across workstations:
RecordEditor.SpellCheckOptions.EnableUserDictionary = true; var perUserFile = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "VetRecords", "spellcheck-user-dictionary.txt"); RecordEditor.SpellCheckOptions.DictionaryFile.UserDictionaryFilePath = perUserFile;RecordEditor.SpellCheckOptions.EnableUserDictionary = True Dim perUserFile = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "VetRecords", "spellcheck-user-dictionary.txt") RecordEditor.SpellCheckOptions.DictionaryFile.UserDictionaryFilePath = perUserFileThe file is plain text, one word per line, created on first save if it does not exist. Back it up by copying the file, or pre-seed it with existing shorthand for new users.

Localizing the menu label
The Add to Dictionary label can be overridden, for example to localize it:
RecordEditor.SpellCheckOptions.AddToDictionaryText = "Agregar al diccionario";The same property is the hook for any rebrand - a customer that wants the menu to read Add to Company Glossary only needs to change one string.
Using a custom spell-check engine
When a custom spell-check engine is used instead of the built-in one (see Using a Custom Spell-Check Engine), the file-path setting is irrelevant. The Add to Dictionary menu still appears, but the editor calls AddToUserDictionary(string word) on the custom engine instead. Whether the word is persisted to a local file, sent to a remote API, or held only in memory for the session is up to the engine implementation. The end-user experience - right-click, click, squiggle gone - is identical.
Ask your AI to do this
Let your assistant do this for you. With the SpiceLogic MCP server connected, paste this into Claude Code, Cursor, or VS Code Copilot in agent mode.
Using the SpiceLogic WPF HTML Editor already referenced in my project, turn on the user dictionary so domain terms stop getting flagged by spell check: set SpellCheckOptions.EnableUserDictionary to true and point SpellCheckOptions.DictionaryFile.UserDictionaryFilePath at a per-user file under the app data folder, for example under a "ClinicNotes" subfolder, so the right-click "Add to Dictionary" entry persists new words across sessions. Also localize that menu entry by setting SpellCheckOptions.AddToDictionaryText to a Spanish label. Look up the exact SpellCheckOptions members with the SpiceLogic MCP tools before writing any code.