The diagram below contains an abbreviated class diagram of the class inheritance starting with RadObject and building to RadControl.
RadProperty and RadPropertyMetaData are not shown. See also the Choosing an Ancestor Class topic for information about selecting an ancestor for your
TPF based control.
properties used in RadObject and support dependency
properties. Each RadProperty has a name, type, owner and
information about the property..
a property and de-couples the information about a property from the property itself.
RadObject represents the base
class for all RadElement objects and has the ability to store all property values in a single structure.
RadElement is a key class that
represents the smallest unit in a RadControl that can be painted or laid out on the screen. RadElement is the base class of all elements that
take advantage of TPF features, e.g. property inheritance, layouts and styling. RadElement implements a tree-like structure of RadObjects, property
value inheritance and automatic layout and display invalidation based on the options of the PropertyMetadata for each RadProperty. RadElement has a
size and location specified in coordinates in relation to its parent.
VisualElement adds visual properties
common to all elements that will be painted, e.g. back color, fore color, font, default size, smoothing mode, opacity.
LayoutPanel an abstract class
descending from RadElement. LayoutPanel descendants coordinate sizing and position for a number of elements.
RadComponentElement implements IComponent
and introduces the ability to be contained.
BasePrimitive is a VisualElement descendant
that adds a virtual PaintPrimitive() method that draws a primitive to the screen.
RadItem represents a visual element which
could be added to an ItemsCollection and can be selected, deleted or moved during Visual Studio at design time. By default this class knows how to
handle user input.
RadControl is the abstract base class for
all RadControls. Each RadControl contains a tree of RadElements. The tree has a root, the RadControl.RootElement (type
RootRadElement shown in the diagram) and children of the root element. RadControl acts as a bridge between the traditional Windows forms controls
and the RadElement tree. RadControl also defines properties common across all controls e.g. ThemeName, Style, ImageList, image scaling properties,
minimum and maximum sizes.