[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Collapse]WPF Controls
  Prerequisites
 [Expand]What's Installed
 [Expand]Common Concepts
 [Expand]MVVM Framework
 [Collapse]Controls and Libraries
   Reporting
  [Expand]Data Grid
  [Expand]Ribbon, Bars and Menu
  [Expand]Charts Suite
  [Expand]Pivot Grid
  [Expand]Scheduler
  [Expand]Spreadsheet
  [Collapse]Rich Text Editor
   [Expand]Product Information
    Product Class Structure
    Supported Formats
   [Expand]Getting Started
   [Expand]RichEditControl Document
   [Expand]Fields
    Text Formatting
    Import and Export
   [Expand]Page Layout
    Printing
    AutoCorrect
    Mail Merge
    Restrictions and Protection
    Syntax Highlighting
    Traversing the Document
   [Expand]Visual Elements
    Services
    Events
    Commands
    HTML Tag Support
   [Expand]Examples
  [Expand]Tree List
  [Expand]Gauge Controls
  [Expand]Map Control
  [Expand]Layout Management
  [Expand]Windows Modern UI
  [Expand]Printing-Exporting
  [Expand]Data Editors
  [Expand]Navigation Controls
  [Expand]Spell Checker
  [Expand]Property Grid
  [Expand]PDF Viewer
  [Expand]TreeMap Control
  [Expand]Diagram Control
  [Expand]Windows and Utility Controls
   Dialogs, Notifications and Panels
  [Expand]Scheduler (legacy)
 [Expand]Scaffolding Wizard
 [Expand]Localization
  Redistribution and Deployment
  Get More Help
 [Expand]API Reference
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Reporting
[Expand]Report and Dashboard Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

AutoCorrect

The DXRichEdit AutoCorrect feature can help you automate inserting frequently used text, auto-correcting typing errors and misspelled capitalization. You can specify the built-in options, construct a custom replacement table or handle the Autocorrect event to analyze the input text and provide the necessary substitution.

Expanded Built-in Automatic Correction Options

The following members enable you to enable certain automatic correction features:

Property Description
DXRichEditAutoCorrectOptions.DetectUrls Automatically detects an inserted web address, a network path or email address and converts it to a hyperlink.
DXRichEditAutoCorrectOptions.CorrectTwoInitialCapitals Corrects capitalization errors.
DXRichEditAutoCorrectOptions.ReplaceTextAsYouType Scans for entries as you type and replaces them with the designated text or image.
DXRichEditAutoCorrectOptions.UseSpellCheckerSuggestions Automatically detects and corrects typos and misspelled word if the RichEditControl.SpellChecker property specifies a spell checker component. If the spell checker provides one suggestion, this suggestion automatically substitutes the incorrect word. Otherwise, no changes are made.

Access the built-in autocorrect options in XAML as shown in the code snippet below:

Expanded Automatic Correction Using Table Entries

The text expander functionality allows you to insert symbols, decipher abbreviations and insert images. Follow the steps below to implement the text expander:

  1. Create a new AutoCorrectReplaceInfoCollection instance and fill it with AutoCorrectReplaceInfo entries:

  2. Call the IAutoCorrectService.SetReplaceTable method to register a created replacement list. Register the service after the RichEditControl instance is completely loaded, i.e. in the Window.Loaded event handler.

  3. When you type a space, punctuation mark or carriage return (a character that typically means you have finished typing a word), AutoCorrect compares the word (or more precisely the group of characters) against its list of entries. If the word matches an entry, AutoCorrect substitutes this word with a replacement object.

    In this example, the substitution is performed as shown in the animation below:

Expanded Automatic Correction Using the AutoCorrect Event

Handle the RichEditControl.AutoCorrect event to analyze the input text and provide a specific object for replacement. Use the following API (accessible using the AutoCorrectEventArgs.AutoCorrectInfo property) to perform the desired actions:

API Description
AutoCorrectInfo.Text Gets the input string to check whether it should be replaced.
AutoCorrectInfo.IncrementStartPosition Decreases a text range being analyzed by moving its start by one position.
AutoCorrectInfo.DecrementStartPosition Extends a text range being analyzed by moving its start by one position.
AutoCorrectInfo.IncrementEndPosition Extends a text range being analyzed by moving its end by one position.
AutoCorrectInfo.DecrementEndPosition Decreases a text range being analyzed by moving its end by one position.
AutoCorrectInfo.ReplaceWith Gets or sets the object used to replace the input string in the document.

Show Me

A complete sample project is available in the DevExpress Code Examples database at http://www.devexpress.com/example=E3281.

The RichEditControl.AutoCorrect event is handled to replace the typed $ symbol with a picture of a dollar, and substitute the text enclosed in percent symbols with custom content.

To accomplish this task, a document text obtained via the AutoCorrectEventArgs.AutoCorrectInfo property is amended by expanding its left boundary using the AutoCorrectInfo.DecrementStartPosition method, until a special symbol or a word separator symbol is found. If a resulting string meets certain conditions, such as whether it is a dollar sign or a %date% string, a replacement object is passed to the document via the AutoCorrectInfo.ReplaceWith property. A replacement object can be a string or an image.

Is this topic helpful?​​​​​​​