# What's New in TX Spell .NET for WPF 6.0

> TX Spell .NET for WPF 6.0 added SpellingCorrectionUIProvider, whose handlers feed a correction panel in XAML by data binding, and Cancel for word changes.

- **Product:** TX Spell .NET for WPF
- **Section:** Documentation
- **Kind:** Topic
- **Path:** TX Spell .NET for WPF > What's New > Older Versions > What's New in TX Spell .NET for WPF 6.0
- **3119 words**
- **Web URL:** https://docs.textcontrol.com/tx-spell-dotnet-wpf/whats-new/older-versions/0600/
- **LLMs URL:** https://docs.textcontrol.com/tx-spell-dotnet-wpf/whats-new/older-versions/0600/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/tx-spell-dotnet-wpf/whats-new/older-versions/0600/llms-full.txt

---

Before version 6.0, a spell checking interface of your own meant handling events and keeping track of the correction yourself. TX Spell .NET for WPF 6.0 moved that work into the spell checker: the `SpellingCorrectionUIProvider` runs the correction, and your controls bind to its values.

Version 6.0 was released on April 15, 2015, together with TX Text Control X12 (version 22.0), as the blog article [TX Text Control X12 and TX Spell 6.0 Released](https://www.textcontrol.com/blog/2015/04/15/tx-text-control-x12-and-tx-spell-60-released/) announced. It remained the current version of TX Spell .NET until [Version 7.0](https://docs.textcontrol.com/tx-spell-dotnet-wpf/whats-new/0700/llms-full.txt) followed in December 2017. The version before it is [Version 5.0](https://docs.textcontrol.com/tx-spell-dotnet-wpf/whats-new/older-versions/0500/llms-full.txt).

### Version 6.0 at a Glance

| Area | What is new |
|---|---|
| Correction interfaces | [SpellingCorrectionUIProvider](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider/llms-full.txt) and its handler classes, for correction interfaces built with data binding |
| Events | `Cancel` on the event arguments of `IncorrectWordChanging` and `MisspelledWordChanging` |

### The Spelling Correction UI Provider

The [SpellingCorrectionUIProvider](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-wpf-proofing/txspellchecker/spellingcorrectionuiprovider-property/llms-full.txt) property of `TXSpellChecker`, and the property of the same name of [TXSpell](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/spellingcorrectionuiprovider-property/llms-full.txt), returns an object that works through the misspelled words of a text or a `TextControl` and holds everything a correction interface shows: the word to correct, its suggestions and the commands that apply to it. Its values change as the correction goes on, and controls bound to them update without event handlers of yours.

The provider splits the work among objects of nested classes, each returned by one of its properties:

| Property | Returns | What it does |
|---|---|---|
| [StateManaging](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider/statemanaging-property/llms-full.txt) | [StateManager](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-statemanager/llms-full.txt) | Holds the state of the correction. [SetCurrent](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-statemanager/setcurrent-method/llms-full.txt) connects a `TextControl` or a text, [Cancel](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-statemanager/cancel-method/llms-full.txt) ends the correction, and [Mode](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-statemanager/mode-property/llms-full.txt) returns the current state as a [TXSpell.SpellingCorrectionMode](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell-spellingcorrectionmode/enumeration/llms-full.txt) value |
| [CorrectionHandling](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider/correctionhandling-property/llms-full.txt) | [CorrectionHandler](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-correctionhandler/llms-full.txt) | Runs the commands `Change`, `ChangeAll`, `Ignore`, `IgnoreAll`, `Delete` and `AddToDictionary`, and tells with properties such as `IsChangeEnabled` whether each one is available |
| [SuggestionsHandling](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider/suggestionshandling-property/llms-full.txt) | [SuggestionsHandler](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-suggestionshandler/llms-full.txt) | Holds the [Suggestions](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-suggestionshandler/suggestions-property/llms-full.txt) for the current word and their maximum number |
| [SuggestionDictionariesHandling](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider/suggestiondictionarieshandling-property/llms-full.txt) | `SuggestionDictionariesHandler` | Holds the dictionaries the suggestions come from |
| [PreviewHandling](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider/previewhandling-property/llms-full.txt) | [PreviewHandler](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-previewhandler/llms-full.txt) | Returns with [PreviewSentenceBounds](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-previewhandler/previewsentencebounds-property/llms-full.txt) the start and length of the sentence that contains the current word, for a preview |

With these objects, you can rebuild the spell check dialog in a design of your own, or place a correction panel beside the editor. [Spelling Correction Modes and UI Provider](https://docs.textcontrol.com/tx-spell-dotnet-wpf/spell-checking/correction-modes/llms-full.txt) explains the modes and builds such a panel in XAML, and [Suggestion Controls](https://docs.textcontrol.com/tx-spell-dotnet-wpf/user-interface/suggestions/llms-full.txt) binds a list of suggestions to the provider.

### Canceling a Change

The event arguments of [IncorrectWordChanging](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-wpf-proofing/txspellchecker/incorrectwordchanging-event/llms-full.txt) and [MisspelledWordChanging](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-wpf-proofing/txspellchecker/misspelledwordchanging-event/llms-full.txt) gained a `Cancel` property: [IncorrectWordChangingEventArgs.Cancel](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/incorrectwordchangingeventargs/cancel-property/llms-full.txt) and [MisspelledWordChangingEventArgs.Cancel](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/misspelledwordchangingeventargs/cancel-property/llms-full.txt). Set it to `true` to stop the change of the current word. [Events](https://docs.textcontrol.com/tx-spell-dotnet-wpf/spell-checking/events/#apply-or-cancel-a-change) shows how.

### Service Packs

- **Service Pack 1** was released on February 1, 2017, together with Service Pack 1 of TX Text Control X14, as the blog article [Service Pack 1 for TX Text Control X14 and TX Spell .NET 6.0 Released](https://www.textcontrol.com/blog/2017/02/01/service-pack-1-for-tx-text-control-x14-and-tx-spell-net-60-released/) announced.
- **Service Pack 2** was released on June 14, 2017, together with Service Pack 2 of TX Text Control X14, as the blog article [Service Pack 2 for TX Text Control X14 and TX Spell .NET 6.0 Released](https://www.textcontrol.com/blog/2017/06/14/service-pack-2-for-tx-text-control-x14-and-tx-spell-net-60-released/) announced.

The download package holds the setups *TX Spell .NET for WPF 6.0 SP1.exe*, dated November 23, 2016, and *TX Spell .NET for WPF 6.0 SP2.exe*, dated June 12, 2017, as well as the full version setup *TX Spell .NET for WPF 6.0.exe*, dated June 12, 2017. These are the dates of the setup files, not release dates.

### New Classes, Properties, Methods and Events

The classes and members below are the ones that the What's New documentation of version 6.0 lists for TX Spell .NET for WPF. Names are relative to the `TXTextControl` namespace, and each name links to its current reference page. The list gives `IncorrectWordChangingEventArgs.Cancel` as a method; it is a property. It doesn't list the `SuggestionDictionariesHandler` class, which the feature description of the version names.

#### New Classes

- [Proofing.SpellingCorrectionUIProvider](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider/llms-full.txt)
- [Proofing.SpellingCorrectionUIProvider.CorrectionHandler](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-correctionhandler/llms-full.txt)
- [Proofing.SpellingCorrectionUIProvider.PreviewHandler](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-previewhandler/llms-full.txt)
- [Proofing.SpellingCorrectionUIProvider.StateManager](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-statemanager/llms-full.txt)
- [Proofing.SpellingCorrectionUIProvider.SuggestionsHandler](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-suggestionshandler/llms-full.txt)

#### Members by Class

| Class | Properties | Methods | Events |
|---|---|---|---|
| [Proofing.IncorrectWordChangingEventArgs](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/incorrectwordchangingeventargs/llms-full.txt) | [Cancel](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/incorrectwordchangingeventargs/cancel-property/llms-full.txt) |  |  |
| [Proofing.MisspelledWordChangingEventArgs](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/misspelledwordchangingeventargs/llms-full.txt) | [Cancel](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/misspelledwordchangingeventargs/cancel-property/llms-full.txt) |  |  |
| [Proofing.SpellingCorrectionUIProvider](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider/llms-full.txt) | [CorrectionHandling](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider/correctionhandling-property/llms-full.txt), [PreviewHandling](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider/previewhandling-property/llms-full.txt), [StateManaging](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider/statemanaging-property/llms-full.txt), [SuggestionDictionariesHandling](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider/suggestiondictionarieshandling-property/llms-full.txt), [SuggestionsHandling](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider/suggestionshandling-property/llms-full.txt) |  |  |
| [Proofing.SpellingCorrectionUIProvider.CorrectionHandler](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-correctionhandler/llms-full.txt) | [IsAddToDictionaryEnabled](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-correctionhandler/isaddtodictionaryenabled-property/llms-full.txt), [IsChangeAllEnabled](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-correctionhandler/ischangeallenabled-property/llms-full.txt), [IsChangeEnabled](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-correctionhandler/ischangeenabled-property/llms-full.txt), [IsDeleteEnabled](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-correctionhandler/isdeleteenabled-property/llms-full.txt), [IsIgnoreAllEnabled](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-correctionhandler/isignoreallenabled-property/llms-full.txt), [IsIgnoreEnabled](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-correctionhandler/isignoreenabled-property/llms-full.txt), [IsOptionsEnabled](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-correctionhandler/isoptionsenabled-property/llms-full.txt), [IsUndoEditEnabled](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-correctionhandler/isundoeditenabled-property/llms-full.txt) | [AddToDictionary](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-correctionhandler/addtodictionary-method/llms-full.txt), [Change](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-correctionhandler/change-method/llms-full.txt), [ChangeAll](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-correctionhandler/changeall-method/llms-full.txt), [CheckCorrectedWord](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-correctionhandler/checkcorrectedword-method/llms-full.txt), [Delete](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-correctionhandler/delete-method/llms-full.txt), [Ignore](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-correctionhandler/ignore-method/llms-full.txt), [IgnoreAll](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-correctionhandler/ignoreall-method/llms-full.txt) |  |
| [Proofing.SpellingCorrectionUIProvider.PreviewHandler](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-previewhandler/llms-full.txt) | [IsPreviewSentenceBoundsEnabled](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-previewhandler/ispreviewsentenceboundsenabled-property/llms-full.txt), [PreviewSentenceBounds](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-previewhandler/previewsentencebounds-property/llms-full.txt) |  |  |
| [Proofing.SpellingCorrectionUIProvider.StateManager](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-statemanager/llms-full.txt) | [CurrentIFormattedText](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-statemanager/currentiformattedtext-property/llms-full.txt), [CurrentText](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-statemanager/currenttext-property/llms-full.txt), [CurrentTextControl](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-statemanager/currenttextcontrol-property/llms-full.txt), [CurrentWordToCorrect](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-statemanager/currentwordtocorrect-property/llms-full.txt), [IsOptionsSettings](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-statemanager/isoptionssettings-property/llms-full.txt), [IsWordToCorrectEditing](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-statemanager/iswordtocorrectediting-property/llms-full.txt), [Mode](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-statemanager/mode-property/llms-full.txt) | [Cancel](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-statemanager/cancel-method/llms-full.txt), [SetCurrent](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-statemanager/setcurrent-method/llms-full.txt) |  |
| [Proofing.SpellingCorrectionUIProvider.SuggestionsHandler](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-suggestionshandler/llms-full.txt) | [IsNoSuggestionsItemEnabled](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-suggestionshandler/isnosuggestionsitemenabled-property/llms-full.txt), [IsSuggestionListEnabled](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-suggestionshandler/issuggestionlistenabled-property/llms-full.txt), [MaxSuggestions](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-suggestionshandler/maxsuggestions-property/llms-full.txt), [Suggestions](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/spellingcorrectionuiprovider-suggestionshandler/suggestions-property/llms-full.txt) |  |  |
| [Proofing.TXSpell](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/llms-full.txt) | [SpellingCorrectionUIProvider](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/spellingcorrectionuiprovider-property/llms-full.txt) |  |  |
| [WPF.Proofing.TXSpellChecker](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-wpf-proofing/txspellchecker/llms-full.txt) | [SpellingCorrectionUIProvider](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-wpf-proofing/txspellchecker/spellingcorrectionuiprovider-property/llms-full.txt) |  |  |

### Next Steps

- [Version 7.0](https://docs.textcontrol.com/tx-spell-dotnet-wpf/whats-new/0700/llms-full.txt): the thesaurus and synonyms.
- [Version 5.0](https://docs.textcontrol.com/tx-spell-dotnet-wpf/whats-new/older-versions/0500/llms-full.txt): language detection.
- [Spelling Correction Modes and UI Provider](https://docs.textcontrol.com/tx-spell-dotnet-wpf/spell-checking/correction-modes/llms-full.txt): build a correction panel with today's version.

---

## Nearby

- **Previous:** [Older Versions](https://docs.textcontrol.com/tx-spell-dotnet-wpf/whats-new/older-versions/llms-full.txt)
- **Next:** [What's New in TX Spell .NET for WPF 5.0](https://docs.textcontrol.com/tx-spell-dotnet-wpf/whats-new/older-versions/0500/llms-full.txt)
