Available for: UI for ASP.NET MVC | UI for ASP.NET AJAX | UI for Blazor | UI for WPF | UI for WinForms | UI for Xamarin | UI for WinUI | UI for ASP.NET Core | UI for .NET MAUI

New to Telerik Document Processing? Download free 30-day trial

Model

RadFlowDocument describes flow document (document designed to dynamically adjust its layout according to the available size). This article explains in details the structure of RadFlowDocument's document model.

Document Elements

RadFlowDocument can contain various types of document elements, all of them inheriting the DocumentElementBase abstract class. The hierarchy is presented in the following diagram, where abstract classes are denoted in blue:

Rad Words Processing Model 04

Every document element is associated with an instance of RadFlowDocument since its creation. This link is permanent and attempts to move document elements from one document to another result in exception; cloning can be used instead to create deep copy of an element associated to another instance of RadFlowDocument. Current associated document is stored in the Document property.

Composition of Document Elements

RadFlowDocument represents a tree of document elements containing each other through a set of properties and collections. Possible containments are described in the following diagram, where document elements are denoted in black, collections in orange, and properties in green: Rad Words Processing Model 05

Relationships between document elements can be additionally traversed using:

  • Parent property. This property contains reference to document's parent and is automatically set when element is added/removed as a child of another element.

  • EnumerateChildrenOfType method. This method can be used to recursively traverse document tree and return all children of given type T.

See Also

In this article