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

> TX Spell .NET for WPF 7.0: a thesaurus with CreateSynonyms and synonym groups, a synonyms dialog in the ribbon, UserDictionary.FilePath and .NET Framework 4.5.

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

---

A thesaurus is the main addition of TX Spell .NET for WPF 7.0: for a word or phrase, it returns synonyms grouped by meaning, read from thesaurus files. Alongside it, user dictionaries tell you which file they came from, and WPF applications require the .NET Framework 4.5.

Version 7.0 was released on December 13, 2017, together with TX Text Control X15. Service Pack 1 followed on May 28, 2019. The version after it is [Version 8.0](https://docs.textcontrol.com/tx-spell-dotnet-wpf/whats-new/0800/llms-full.txt). The blog article [TX Text Control X15 and TX Spell .NET 7.0 Released](https://www.textcontrol.com/blog/2017/12/13/tx-text-control-x15-and-tx-spell-net-70-released/) announced it.

### Version 7.0 at a Glance

| Area | What is new |
|---|---|
| Thesaurus | `CreateSynonyms` and the classes [SynonymGroup](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/synonymgroup/llms-full.txt), [Synonym](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/synonym/llms-full.txt), [SynonymList](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/synonymlist/llms-full.txt) and [SynonymListCollection](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/synonymlistcollection/llms-full.txt) |
| User dictionaries | [UserDictionary.FilePath](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/userdictionary/filepath-property/llms-full.txt) |
| .NET | Compiled with the .NET Framework 4.0, WPF applications on the .NET Framework 4.5 or higher; Visual Studio 2017 |

### Synonyms

[CreateSynonyms](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/createsynonyms-method/llms-full.txt) of `TXSpell`, and [CreateSynonyms](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-wpf-proofing/txspellchecker/createsynonyms-method/llms-full.txt) of the WPF `TXSpellChecker`, return the synonyms of a word or phrase as an array of synonym groups. Each group holds synonyms that share one meaning:

| Class | Represents |
|---|---|
| `SynonymList` | A thesaurus file, from which the synonyms are read |
| `SynonymListCollection` | The synonym lists that `CreateSynonyms` uses |
| `SynonymGroup` | Synonyms with a common meaning; [Synonyms](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/synonymgroup/synonyms-property/llms-full.txt) holds them, and its first entry also describes the meaning. [PartOfSpeech](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/synonymgroup/partofspeech-property/llms-full.txt) describes the part of speech or meaning of the group |
| `Synonym` | One synonym; [Text](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/synonym/text-property/llms-full.txt) is its name and optional additional information |

`CreateSynonyms` has three overloads, which take the synonyms from the added synonym lists, from the lists of a language or from one list you pass; [Looking Up Synonyms in Code](https://docs.textcontrol.com/tx-spell-dotnet-wpf/synonyms/in-code/llms-full.txt) shows them. [SynonymLanguage](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/synonymlanguage-property/llms-full.txt) names the default synonym list, and [AvailableSynonymLists](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/txspell/availablesynonymlists-property/llms-full.txt) lists all synonym lists of the default folder.

Version 7.0 also has a built-in dialog box for synonyms, which the proofing tab of TX Text Control's ribbon, [RibbonProofingTab](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/ribbonproofingtab/llms-full.txt), opens when TX Spell .NET is connected to TX Text Control. [Synonyms in the Context Menu](https://docs.textcontrol.com/tx-spell-dotnet-wpf/synonyms/context-menu/llms-full.txt) shows the dialog.

### User Dictionaries

A [UserDictionary](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/userdictionary/llms-full.txt) holds the words that users add to the dictionary of the language. Its new property `FilePath` returns the name and path of the file the user dictionary was loaded from or last saved to. When it was neither loaded from nor saved to a file, it returns `null`.

### .NET Framework 4.5

TX Spell .NET for WPF 7.0 is compiled with the .NET Framework 4.0. From this version on, the WPF products of Text Control require the .NET Framework 4.5 or higher, so a WPF application that uses TX Spell .NET 7.0 targets version 4.5 or a later one. Version 7.0 was also tested with the final release of Visual Studio 2017: the setup, the toolbox, the help and IntelliSense.

### New Classes and Members

Text Control's list of what version 7.0 added names four synonym classes and the `UserDictionary` class, with these members. All classes are in the namespace `TXTextControl.Proofing`, except `TXSpellChecker`, which is in `TXTextControl.WPF.Proofing`:

| Class | Properties | Methods |
|---|---|---|
| `Synonym` | [ID](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/synonym/id-property/llms-full.txt), the lowercase identifier of the synonym in its list; [Name](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/synonym/name-property/llms-full.txt), the same identifier with its original case; `Text` |  |
| `SynonymGroup` | [Language](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/synonymgroup/language-property/llms-full.txt), `PartOfSpeech`, `Synonyms` |  |
| `SynonymList` | `IsCreateSynonymsEnabled`; [IsSelectedAsDefault](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/synonymlist/isselectedasdefault-property/llms-full.txt), whether `SynonymLanguage` selects the list as the default one; [Language](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/synonymlist/language-property/llms-full.txt); [Name](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/synonymlist/name-property/llms-full.txt) |  |
| `SynonymListCollection` | [Item](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/synonymlistcollection/item-method/llms-full.txt) | `Add`; [GetItem](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/synonymlistcollection/getitem-method/llms-full.txt), which finds a list by its name; [Remove](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/synonymlistcollection/remove-method/llms-full.txt) |
| `TXSpell`, `TXSpellChecker` | `AvailableSynonymLists`, `SynonymLanguage`, `SynonymLists` | `CreateSynonyms` |
| `UserDictionary` | `FilePath`; [IsEditable](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/userdictionary/iseditable-property/llms-full.txt), `true` by default | [AddWord](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/userdictionary/addword-method/llms-full.txt), [RemoveWord](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/userdictionary/removeword-method/llms-full.txt), [RemoveAllWords](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/userdictionary/removeallwords-method/llms-full.txt); [Save](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/userdictionary/save-method/llms-full.txt), to a file or a string array; [ToArray](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/txtextcontrol-proofing/userdictionary/toarray-method/llms-full.txt) |

User dictionaries themselves are older than version 7.0: the events for words added to and removed from a user dictionary came with version 3.0. `AddWord`, `RemoveWord` and `RemoveAllWords` have no effect when `IsEditable` is `false` or when the user dictionary isn't added to the spell checker's dictionaries. [User Dictionaries](https://docs.textcontrol.com/tx-spell-dotnet-wpf/dictionaries/user/llms-full.txt) shows these members in use.

### Next Steps

- [Version 8.0](https://docs.textcontrol.com/tx-spell-dotnet-wpf/whats-new/0800/llms-full.txt): the version that followed.
- [Version 6.0](https://docs.textcontrol.com/tx-spell-dotnet-wpf/whats-new/older-versions/0600/llms-full.txt): the version before, and the [Older Versions](https://docs.textcontrol.com/tx-spell-dotnet-wpf/whats-new/older-versions/llms-full.txt) back to 3.0.
- [Service Packs](https://docs.textcontrol.com/tx-spell-dotnet-wpf/whats-new/service-packs/llms-full.txt): Service Pack 1 of version 7.0.
- [Breaking Changes](https://docs.textcontrol.com/tx-spell-dotnet-wpf/whats-new/breaking-changes/llms-full.txt): the change to the .NET Framework 4.5.
- [API Reference](https://docs.textcontrol.com/tx-spell-dotnet-wpf/reference/llms-full.txt): every class and member of TX Spell .NET for WPF.

---

## Nearby

- **Previous:** [What's New in TX Spell .NET for WPF 8.0](https://docs.textcontrol.com/tx-spell-dotnet-wpf/whats-new/0800/llms-full.txt)
- **Next:** [Service Packs](https://docs.textcontrol.com/tx-spell-dotnet-wpf/whats-new/service-packs/llms-full.txt)
