What is the Class Hierarchy in Windows Presentation Foundation?
Kunal Kumar
* System.Threading.DispatcherObject class represents on object associated with a "Dispatcher". * System.Windows.DependencyObject class is the base class for classes that support dependency properties. * System.Windows.Media.Visual class is the base class for objects that can be rendered to a WPF window or page. * System.Windows.UIElement class defines core subsystems like Layout, Input, Focus and Events(LIFE). * System.Windows.FrameworkElement introduces data binding and data templates, styles and animation. * System.Windows.Controls.Control class adds a feature called templating. This is the base class for all the controls that the user interacts with. * System.Windows.Controls.ContentControl can hold a single nested element.
the book "Pro WPF in c# 2008" show a diagram with the class hierarchy of the fundamental classes of WPF. these are the classes: ->DispatcherObject^->DependencyObject^->Visual^->UIElement^->FrameworkElementShape<-^->Control^->PanelContentControl<-^->ItemsControl -System.Threading.DispatcherObject: WPF applications use the familiar single-thread affinity (STA) model, which means the entire user interface is owned by a single thread. -System.Windows.DependencyObject: In WPF, the central way of interacting with onscreen elements is through properties. -System.Windows.Media.Visual: Every element that appears in a WPF is, at heart, a Visual. You can think of the Visual class as a single drawing object, which encapsulates drawing instructions, additional details about how the drawing should be performed (such as clipping, opacity, and transformation settings), and basic functionality (such as hit testing). -System.Windows.UIElement:UIElement adds support for WPF essentials such as layout, input, focus, and events (which the WPF team refers to by the acronym LIFE). -System.Windows.FrameworkElement: FrameworkElement is the final stop in the core WPF inheritance tree. It implements some of the members that are merely defined by UIElement. -System.Windows.Shapes.Shape: Basic shapes classes, such as Rectangle, Polygon, Ellipse, Line, and Path, derive from this class. -System.Windows.Controls.Control: A control is an element that can interact with the user. It obviously includes classes such as TextBox, Button, and ListBox. -System.Windows.Controls.ContentControl: This is the base class for all controls that have a single piece of content. This includes everything from the humble Label to the Window. -System.Windows.Controls.ItemsControl: This is the base class for all controls that show a collection of items, such as the ListBox and TreeView. -System.Windows.Controls.Panel: This is the base class for all layout containers—elements that can contain one or more children and arrange them according to specific layout rules.
http://msdn.microsoft.com/en-us/library/ms750441(v=vs.110).aspx
http://soumya.wordpress.com/2010/01/10/wpf-simplified-part-10-wpf-framework-class-hierarchy/