New to Telerik UI for WPFStart a free 30-day trial

UI Layers

Updated over 6 months ago

RadRichTextBox uses separate layers to render the different parts of a document. This topic describes which layers are used and the parts they are responsible to visualize.

Default Layers

The default layers provide the default visual representation of the elements they support. Table 1 lists all the layers used in RadRichTextBox with information about the part they are responsible for.

Table 1: UI layers in RadRichTextBox

PositionClassLayer NameDescription
1PagesUILayerPagesLayerGenerates the page area with the size specified in the section properties.
2HeaderFooterLayerHeaderFooterLayerResponsible to render the header and footer areas of the page.
3WatermarkUILayerWatermarkLayerRenders the watermarks on a page.
4BackgroundsUILayerBackgroundsLayerRenders the background of Table, TableCell and Paragraph elements.
5FloatingBlocksUILayerFloatingBlocksBackLayerVisualizes the floating elements in a document that should be rendered below the other contents.
6RevisionChangedLinesDecorationRevisionChangedLinesDecorationAdds decorations for the modified inline content when using Track Changes.
7TableRevisionRangesDecorationTableRevisionRangesDecorationAdds decorations for the modified Table elements when using Track Changes.
8HighlightingFieldsDecorationUILayerHighlightFieldsDecorationRenders highlight on the fields inside a document when RadRichTextBox.FieldShadingMode is different than Never.
9HighlightingTextDecorationUILayerHighlightDecorationVisualizes the highlight of a Span, if such is applied.
10StrikethroughTextDecorationUILayerStrikethroughDecorationVisualizes the strikethrough of a Span, if such is applied.
11ProofingErrorsDecorationUILayerProofingErrorsDecorationShows the marks for misspelled words.
12UnderlineTextDecorationUILayerUnderlineDecorationRenders the underline of text, if such is applied.
13DocumentListDecorationDocumentListDecorationTakes care of rendering the bullets and numberings for lists.
14BordersUILayerBordersDecorationResponsible for rendering the table borders.
15AnchorFloatingBlockDecorationUILayerFloatingBlockAnchorDecorationRenders the anchor of the floating blocks.
16FormattingSymbolsUILayerFormattingSymbolsLayerShows the formatting symbols.
17TabLeaderUILayerTabLeaderUILayerGenerates the UI for the tab leaders.
19LineDocumentUILayerLinesDocumentLayerRenders the lines of text content.
20SectionColumnsSeparatorLayerSectionColumnsSeparatorLayerDraws the separator between two section columns.
21RevisionsToolTipLayerToolTipLayerShows a tooltip with information about a specific revision.
22NotesTooltipLayerNotesTooltipLayerCreates UI for the tooltips of footnotes and endnotes in a document.
23HyperlinksUILayerHyperlinksLayerTakes care of presenting the hyperlinks.
24ImagesUILayerImagesLayerRenders images.
25UIContainerUILayerUIContainerLayerTakes care for the rendering of UIContainer elements.
26NotesSeparatorLayerNotesSeparatorLayerShows the separator line between footnotes and endnotes.
27FootnotesUILayerFootnotesLayerRenders the footnotes.
28EndnotesUILayerEndnotesLayerRenders the endnotes.
29FloatingBlocksUILayerFloatingBlocksFrontLayerCreates the UI for the floating blocks that should be rendered on top of the other content.
30TableColumnBordersResizeLayerTableColumnBordersResizeLayerCreates the UI that enables the users to resize columns of a table.
31TableRowBordersResizeLayerTableRowBordersResizeLayerCreates the UI that enables the users to resize rows of a table.
32CommentsUILayerCommentsLayerVisualizes the comments inside a document.
33AdornerLayerAdornerLayerShows the image adorner allowing users to modify an image.
34ForegroundLayerForegroundLayerTakes care of applying the correct foreground.
35SelectionLayerSelectionLayerVisualizes the selection.
36HeaderFooterOverlayLayerHeaderFooterOverlayLayerAdds an additional UI when the user is editing inside headers/footers. Makes it easier to see which part of the document is edited at the moment.
37TableMovementUILayerTableMovementLayerInitializes and shows the table adorner. Allows moving and selecting a whole table.
38ContentControlsUILayerContentControlsLayerShows the content controls.

Ordering Layers

The position a layer is added to the collection of layers in the control specifies its stack order. UI layer that is added as the last item in the collection is always rendered in front of all previously added layers. On the counterpart, the first UI layer in the collection visualizes its elements beneath all others.

The default order of the built-in layers corresponds to the specific layer position in Table 1.

Customizing UI Layers

The API of RadRichTextBox enables you to remove an existing layer or create a brand new one to customize the presentation of different parts of the document. These operations can be performed through a custom implementation of the UILayersBuilder class to register the desired remove and/or add operation.

For more details on customizing the visualization of the document elements, check the Customize Presentation through UI Layers help topic.

See Also