WPF Content Model
The Windows Presentation Foundation (WPF) is a presentation platform that provides many control and control-like types whose primary purpose is to display content. The content models of these types can be very flexible, and at times, very rigid. For example, some types can contain only a single piece of content but some can contain multiple items. In addition, the content may be text, other controls, or a specific set of elements.
This topic organizes the control and control-like types based on the inheritance hierarchy and provides a quick reference for the content models of these type families. A content property is a property that is used to store the content of the object. This topic includes only types distributed with the Windows SDK.
For content model information for a specific type family, see the corresponding content model overview.
This topic contains the following sections.
- ContentControl Classes
- HeaderedContentControl Classes
- ItemsControl Classes
- HeaderedItemsControl Classes
- Decorator Classes
- Panel Classes
- Adorner Classes
- Flow Text Classes
- TextBox Class
- TextBlock Class
- Shape Classes
- Related Topics
ContentControl Classes
Description |
A ContentControl is a type of Control that contains a single piece of content. |
Content properties |
|
Content model information |
|
Types that belong to this type family |
Button, ButtonBase, CheckBox, ComboBoxItem, ContentControl, Frame, GridViewColumnHeader, GroupItem, Label, ListBoxItem, ListViewItem, NavigationWindow, RadioButton, RepeatButton, ScrollViewer, StatusBarItem, ToggleButton, ToolTip, UserControl, Window |
Types that can contain ContentControl types |
ContentControl Classes, HeaderedContentControl Classes, ItemsControl Classes, HeaderedItemsControl Classes, Panel Classes, Decorator Classes, Adorner Classes |
Subcategories |
HeaderedContentControl Classes |
HeaderedContentControl Classes
Description |
A HeaderedContentControl is a type of ContentControl that contains a single piece of content and also has a Header. |
Content properties |
|
Content model information |
|
Types that belong to this type family |
|
Types that can contain HeaderedContentControl types |
ContentControl Classes, HeaderedContentControl Classes, ItemsControl Classes, HeaderedItemsControl Classes, Panel Classes, Decorator Classes, Adorner Classes |
ItemsControl Classes
Description |
An ItemsControl is a type of Control that can contain multiple items, such strings, objects, or other elements. |
Content properties |
|
Primary content type |
Multiple items that may be strings, objects, or other elements. |
Content model information |
|
Types that belong to this type family |
Menu, MenuBase, ContextMenu, ComboBox, ItemsControl, ListBox, ListView, TabControl, TreeView, Selector, StatusBar |
Types that can contain ItemsControl types |
ContentControl Classes, HeaderedContentControl Classes, ItemsControl Classes, HeaderedItemsControl Classes, Panel Classes, Decorator Classes, Adorner Classes |
Subcategories |
HeaderedItemsControl Classes |
HeaderedItemsControl Classes
Description |
A HeaderedItemsControl is a type of ItemsControl that can contain multiple items, such strings, object, or other elements, and also has a header. |
Content properties |
|
Content model information |
|
Types that belong to this type family |
|
Types that can contain HeaderedItemsControl types |
Typically, MenuItem objects are used as child elements of a Menu element; TreeViewItem objects are used as child elements of a TreeView element; and ToolBar objects are used as child elements of a ToolBarTray. |
Decorator Classes
Description |
A Decorator is a type of FrameworkElement that applies effects onto or around a single child UIElement. |
Content properties |
|
Primary content type |
A single UIElement |
Content model information |
|
Types that belong to this type family |
ButtonChrome, ClassicBorderDecorator, ListBoxChrome, SystemDropShadowChrome, Border, InkPresenter, BulletDecorator, Viewbox, AdornerDecorator |
Types that can contain Decorator Types |
ContentControl Classes, HeaderedContentControl Classes, ItemsControl Classes, HeaderedItemsControl Classes, Panel Classes, Decorator Classes, Adorner Classes |
Panel Classes
Description |
A Panel is a type of FrameworkElement that positions and arranges child objects. For more information, see Panels Overview. |
Content properties |
|
Primary content type |
One or more UIElement objects. |
Content model information |
|
Types that belong to this type family |
Canvas, DockPanel, Grid, TabPanel, ToolBarOverflowPanel, StackPanel, ToolBarPanel, UniformGrid, VirtualizingPanel, VirtualizingStackPanel, WrapPanel |
Types that can contain Panel types |
ContentControl Classes, HeaderedContentControl Classes, ItemsControl Classes, HeaderedItemsControl Classes, Panel Classes, Decorator Classes, Adorner Classes |
Adorner Classes
Description |
An Adorner is a FrameworkElement that is bound to ("adorns") a single UIElement. For more information, see Adorners Overview. |
Content properties |
None. |
Primary content type |
None. |
Content model information |
N/A |
Types that belong to this type family |
The Adorner class is provided as a framework for creating your own adorners; Windows Presentation Foundation (WPF) does not provide any implemented adorners. |
Flow Text Classes
Description |
A TextElement is a type of FrameworkContentElement that contains text or other TextElement objects. TextElement and its derived classes are used to make up flow content. For more information on flow content, see Flow Document Overview. |
Content properties |
See TextElement Content Model Overview for more information. |
Primary content type |
Multiple items that may be strings, objects, or other elements. |
Content model information |
|
Types that belong to this type family |
AnchoredBlock, Block, BlockUIContainer, Bold, Figure, Floater, Hyperlink, Inline, InlineUIContainer, Italic, LineBreak, List, ListItem, Paragraph, Run, Section, Span, Table, Underline |
Types that can contain Flow Text types |
FlowDocument Class |
TextBox Class
Description |
A TextBox is a control that can be used to display or edit unformatted text. A TextBox supports unformatted text only. For applications that require support for richer content, see RichTextBox. |
Content properties |
|
Primary content type |
Strings |
Content model information |
|
Types that belong to this type family |
|
Types that can contain TextBox classes |
ContentControl Classes, HeaderedContentControl Classes, ItemsControl Classes, HeaderedItemsControl Classes, Panel Classes, Decorator Classes, Adorner Classes, Flow Text Classes |
TextBlock Class
Description |
A TextBlock is a lightweight control for displaying small amounts of flow content. |
Content properties |
|
Content model information |
|
Types that belong to this type family |
|
Types that can contain TextBlock classes |
ContentControl Classes, HeaderedContentControl Classes, ItemsControl Classes, HeaderedItemsControl Classes, Panel Classes, Decorator Classes, Adorner Classes, Flow Text Classes |
Shape Classes
Description |
A Shape is a type of FrameworkElement that displays a geometric shape. |
Content properties |
None. |
Primary Content Type |
None. |
Content model information |
N/A |
Types that belong to this type family |
See the Shape class for a list of types that derive from Shape. |
Types that can contain Shape types |
ContentControl Classes, HeaderedContentControl Classes, ItemsControl Classes, HeaderedItemsControl Classes, Panel Classes, Decorator Classes, Adorner Classes |