# What's New in TX Text Control .NET for WPF 18.0

> TX Text Control .NET for WPF 18.0 (X8): z-order above and below the text, transparent text frames, the Frames collection, a spelling context menu, status bar.

- **Product:** TX Text Control .NET for WPF
- **Section:** Documentation
- **Kind:** Topic
- **Path:** TX Text Control .NET for WPF > What's New > Older Versions > What's New in TX Text Control .NET for WPF 18.0
- **2960 words**
- **Web URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/older-versions/1800/
- **LLMs URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/older-versions/1800/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/older-versions/1800/llms-full.txt

---

Images and text frames can lie above or below the text and in front of or behind each other since TX Text Control 18.0, which introduced a z-order and transparent text frames. The WPF `TextControl` received a collection of all its frames, a context menu for misspelled words and a new status bar design.

Version 18.0 was released in August 2012 as TX Text Control X8, as the press release [Press Release: TX Text Control X8 (18.0) Released](https://www.textcontrol.com/blog/2012/08/01/press-release-tx-text-control-x8-180-released/) announced. The charts that the version added are Windows Forms chart controls: `ServerTextControl` and the Windows Forms `TextControl` handle them, and the WPF `TextControl` has no chart collection.

### Version 18.0 at a Glance

| Area | What is new |
|---|---|
| Z-order | Images and text frames above or below the text, and in front of or behind each other |
| Text frames | Transparency |
| Frames | One collection of all frames of the `TextControl` |
| Spell checking | Ignored and duplicate words, a context menu for misspelled words |
| Status bar | A color gradient, separator lines and a zoom track bar |
| Images | The EMF format, without an image filter |

### Charts in ServerTextControl

`ServerTextControl` can contain chart controls of the type `System.Windows.Forms.DataVisualization.Charting.Chart`, which is part of the .NET Framework from version 4 on.

- **Position.** A [DataVisualization.ChartFrame](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-datavisualization/chartframe/llms-full.txt) places the chart like an image or a text frame: as a character in the text, anchored to a paragraph or relative to the document. The frame is connected to a chart control through [Chart](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-datavisualization/chartframe/chart-property/llms-full.txt), which holds the appearance and the data.
- **Collection.** [ServerTextControl.Charts](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/servertextcontrol/charts-property/llms-full.txt) returns a [DataVisualization.ChartCollection](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-datavisualization/chartcollection/llms-full.txt), which adds and removes charts. The events [ChartCreated](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/servertextcontrol/chartcreated-event/llms-full.txt) and [ChartDeleted](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/servertextcontrol/chartdeleted-event/llms-full.txt) report changes.
- **Formats.** The TX Text Control format and RTF save a chart as a chart, which is rebuilt when the document is loaded. Other formats save its image. On a system without the chart controls, the image is inserted instead.

[Charts and Barcodes](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/document-processing/charts-barcodes/llms-full.txt) explains why charts can't be used with the WPF `TextControl` today.

### Z-Order and Frames

- **Above and below the text.** The new insertion modes `AboveTheText` and `BelowTheText` put an object in front of the text or behind it. [ImageCollection.Add](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/imagecollection/add-method/llms-full.txt), [TextFrameCollection.Add](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/textframecollection/add-method/llms-full.txt) and [ChartCollection.Add](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-datavisualization/chartcollection/add-method/llms-full.txt) accept them, as do the `InsertionMode` properties of images, text frames and frames.
- **Change the order.** [ChangeZOrder](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/framebase/changezorder-method/llms-full.txt) moves an image, text frame or chart one plane up or down, or to the top or the bottom. Objects inserted as characters always have the z-order 0.
- **Transparent text frames.** [TextFrame.Transparency](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/textframe/transparency-property/llms-full.txt) takes a value from 0, opaque, to 255, completely transparent, so that objects behind the frame show through.
- **All frames.** [WPF.TextControl.Frames](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/textcontrol/frames-property/llms-full.txt) and [ServerTextControl.Frames](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/servertextcontrol/frames-property/llms-full.txt) return a [FrameCollection](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/framecollection/llms-full.txt) with all frames of the text part that has the input focus. It changes their common attributes and returns the selected frame.

### Status Bar

[WPF.StatusBar](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/statusbar/llms-full.txt) has a new background with a vertical color gradient and separator lines between its parts:

- **Zoom track bar.** With [ShowZoomTrackBar](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/statusbar/showzoomtrackbar-property/llms-full.txt), the status bar shows a track bar that sets the zoom factor instead of a number.
- **Colors.** The colors follow the Windows theme or are set through [DisplayColors](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/statusbar/displaycolors-property/llms-full.txt), a [WPF.StatusBarColors](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/statusbarcolors/llms-full.txt) object with the background colors at the top, the middle and the bottom and the colors of the separators, such as [BackColorTop](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/statusbarcolors/backcolortop-property/llms-full.txt) and [SeparatorColorDark](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/statusbarcolors/separatorcolordark-property/llms-full.txt).

[Rulers and Status Bar](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/document-editor/ribbon-ui/rulers-status-bar/llms-full.txt) describes the status bar of the current version.

### More Changes

- **Text parts.** Two new overloads of [TextPartCollection.GetItem](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/textpartcollection/getitem-method/llms-full.txt) return the offset of a text part from the top left corner of the control and the text part at a given location.
- **Spell checking.** [MisspelledWord.IsIgnored](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/misspelledword/isignored-property/llms-full.txt) marks a misspelled word as ignored: it stays in the collection but isn't underlined. [MisspelledWord.IsDuplicate](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/misspelledword/isduplicate-property/llms-full.txt) tells whether the word repeats the word in front of it. [MisspelledWordCollection.Ignore](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/misspelledwordcollection/ignore-method/llms-full.txt) ignores a word, and [GetCount](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/misspelledwordcollection/getcount-method/llms-full.txt) counts the words of one kind. [WPF.TextControl.SpellCheckContextMenu](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/textcontrol/spellcheckcontextmenu-property/llms-full.txt) specifies the context menu that opens when a user right-clicks a misspelled word: a built-in default menu or one of your own.
- **EMF images.** TX Text Control supports the Windows Enhanced Metafile format (EMF). EMF and WMF images are handled internally, so the WMF image filter is no longer needed.
- **Initialization.** [ServerTextControl.IsCreated](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/servertextcontrol/iscreated-property/llms-full.txt) tells whether the control has been created completely.

### Upgrade to Version 18.0

- **MisspelledWordCollection.GetItem.** The location parameter of [MisspelledWordCollection.GetItem](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/misspelledwordcollection/getitem-method/llms-full.txt) is given in pixels instead of twips.
- **Insertion modes.** The enumerations [ImageInsertionMode](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/imageinsertionmode/enumeration/llms-full.txt) and [TextFrameInsertionMode](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/textframeinsertionmode/enumeration/llms-full.txt) have the new values `AboveTheText` and `BelowTheText`.

### New Classes, Properties, Methods and Events

The classes and members below are the ones that the What's New documentation of version 18.0 lists for TX Text Control .NET for WPF. Names are relative to the `TXTextControl` namespace, each name links to its current reference page, and "(obsolete)" marks a member that is obsolete today.

#### New Classes

- [DataVisualization.ChartCollection](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-datavisualization/chartcollection/llms-full.txt)
- [DataVisualization.ChartEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-datavisualization/charteventargs/llms-full.txt)
- [DataVisualization.ChartFrame](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-datavisualization/chartframe/llms-full.txt)
- [FrameCollection](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/framecollection/llms-full.txt)

#### Members by Class

| Class | Properties | Methods | Events |
|---|---|---|---|
| [DataVisualization.ChartCollection](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-datavisualization/chartcollection/llms-full.txt) |  | [Add](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-datavisualization/chartcollection/add-method/llms-full.txt), [CopyTo](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-datavisualization/chartcollection/copyto-method/llms-full.txt), [GetItem](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-datavisualization/chartcollection/getitem-method/llms-full.txt), [Remove](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-datavisualization/chartcollection/remove-method/llms-full.txt) |  |
| [DataVisualization.ChartEventArgs](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-datavisualization/charteventargs/llms-full.txt) | [ChartFrame](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-datavisualization/charteventargs/chartframe-property/llms-full.txt) |  |  |
| [DataVisualization.ChartFrame](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-datavisualization/chartframe/llms-full.txt) | [Chart](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-datavisualization/chartframe/chart-property/llms-full.txt), [ExportCompressionQuality](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-datavisualization/chartframe/exportcompressionquality-property/llms-full.txt), [ExportFileName](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-datavisualization/chartframe/exportfilename-property/llms-full.txt), [ExportFilterIndex](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-datavisualization/chartframe/exportfilterindex-property/llms-full.txt), [ExportResolution](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-datavisualization/chartframe/exportresolution-property/llms-full.txt), [SaveMode](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-datavisualization/chartframe/savemode-property/llms-full.txt) | [AddUndoUnit](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-datavisualization/chartframe/addundounit-method/llms-full.txt), [Refresh](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-datavisualization/chartframe/refresh-method/llms-full.txt) |  |
| [FrameBase](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/framebase/llms-full.txt) |  | [ChangeZOrder](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/framebase/changezorder-method/llms-full.txt) |  |
| [FrameCollection](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/framecollection/llms-full.txt) |  | [CopyTo](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/framecollection/copyto-method/llms-full.txt), [GetItem](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/framecollection/getitem-method/llms-full.txt), [Remove](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/framecollection/remove-method/llms-full.txt) |  |
| [MisspelledWord](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/misspelledword/llms-full.txt) | [IsDuplicate](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/misspelledword/isduplicate-property/llms-full.txt), [IsIgnored](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/misspelledword/isignored-property/llms-full.txt) |  |  |
| [MisspelledWordCollection](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/misspelledwordcollection/llms-full.txt) |  | [GetCount](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/misspelledwordcollection/getcount-method/llms-full.txt), [Ignore](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/misspelledwordcollection/ignore-method/llms-full.txt) |  |
| [ServerTextControl](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/servertextcontrol/llms-full.txt) | [Charts](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/servertextcontrol/charts-property/llms-full.txt), [Frames](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/servertextcontrol/frames-property/llms-full.txt), [IsCreated](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/servertextcontrol/iscreated-property/llms-full.txt) |  | [ChartCreated](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/servertextcontrol/chartcreated-event/llms-full.txt), [ChartDeleted](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/servertextcontrol/chartdeleted-event/llms-full.txt) |
| [TextFrame](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/textframe/llms-full.txt) | [Transparency](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol/textframe/transparency-property/llms-full.txt) |  |  |
| [WPF.StatusBar](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/statusbar/llms-full.txt) | [ShowZoomTrackBar](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/statusbar/showzoomtrackbar-property/llms-full.txt) |  |  |
| [WPF.StatusBarColors](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/statusbarcolors/llms-full.txt) | [BackColorBottom](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/statusbarcolors/backcolorbottom-property/llms-full.txt), [BackColorMiddle](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/statusbarcolors/backcolormiddle-property/llms-full.txt), [BackColorTop](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/statusbarcolors/backcolortop-property/llms-full.txt), [SeparatorColorDark](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/statusbarcolors/separatorcolordark-property/llms-full.txt), [SeparatorColorLight](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/statusbarcolors/separatorcolorlight-property/llms-full.txt) |  |  |
| [WPF.TextControl](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/textcontrol/llms-full.txt) | [Frames](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/textcontrol/frames-property/llms-full.txt), [SpellCheckContextMenu](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/reference/txtextcontrol-wpf/textcontrol/spellcheckcontextmenu-property/llms-full.txt) |  |  |

### Next Steps

- [Version 19.0](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/older-versions/1900/llms-full.txt): the features of the next version.
- [Version 17.0](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/older-versions/1700/llms-full.txt): merged table cells, page borders and digital signatures.
- [Text Frames and Shapes](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/document-editor/text-frames-shapes/llms-full.txt): work with text frames today.

---

## Nearby

- **Previous:** [What's New in TX Text Control .NET for WPF 19.0](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/older-versions/1900/llms-full.txt)
- **Next:** [What's New in TX Text Control .NET for WPF 17.0](https://docs.textcontrol.com/tx-text-control-dotnet-wpf/whats-new/older-versions/1700/llms-full.txt)
