IAutoCorrectService Interface
Defines a service that performs auto correction.
Namespace: DevExpress.XtraRichEdit.Services
Assembly: DevExpress.RichEdit.v24.1.Core.dll
NuGet Packages: DevExpress.RichEdit.Core, DevExpress.Win.Navigation
Declaration
Remarks
The IAutoCorrectService service calls the IAutoCorrectProvider.CalculateAutoCorrectInfo methods of registered providers in a predefined order to obtain an AutoCorrectInfo object. Then, this object is used to perform a replacement.
You can easily add your own table-based autocorrect functionality.
For this, use the GetService method of a control to obtain the IAutoCorrectService. Then, create an AutoCorrectReplaceInfoCollection instance, fill it with pairs from your custom autocorrect table and use the IAutoCorrectService.SetReplaceTable method to register your table for use by the service.
using DevExpress.XtraRichEdit;
using DevExpress.XtraRichEdit.Services;
IAutoCorrectService svc = richEditControl1.GetService<IAutoCorrectService>();
if (svc != null)
svc.SetReplaceTable(LoadAbbrevs("abbvs.txt"));
private AutoCorrectReplaceInfoCollection LoadAbbrevs(string path)
{
AutoCorrectReplaceInfoCollection coll = new AutoCorrectReplaceInfoCollection();
string aLine = "";
AutoCorrectReplaceInfo acrInfoIm = new AutoCorrectReplaceInfo(":-)", CreateImageFromResx("smile.png"));
coll.Add(acrInfoIm);
if (File.Exists(path))
{
StreamReader sr = new StreamReader(path);
while (!(sr.EndOfStream))
{
aLine = sr.ReadLine();
if (aLine != "START") continue;
while (!(sr.EndOfStream))
{
aLine = sr.ReadLine();
aLine = aLine.Trim();
string[] words = aLine.Split('=');
if (words.Length == 2)
{
AutoCorrectReplaceInfo acrInfo = new AutoCorrectReplaceInfo(words[0], words[1]);
coll.Add(acrInfo);
}
}
}
sr.Close();
}
return coll;
}