The figures are all from the network, as shown below. These figures are helpful for understanding the inheritance relationship of controls:
Dispatcherobject: WPF/Silverlight
Many classes inherit from dispatcherobject. dispatcherobject provides the basic structure for processing synchronization and concurrency.
Dependencyobject: one of the main ideas for building WPF/Silverlight is that attributes take precedence over methods and events. WPF/Silverlight
A wide range of attribute systems are provided, with the core being dependencyobject.
Visual: This class provides 2D rendering support for WPF/Silverlight, including output display, coordinate conversion, and Region cutting.
Uielement: This class inherits from the visual class and is the base class for building WPF/Silverlight elements and basic rendering features. It defines many features related to input and focus, such as Keyboard Events, mouse, APIS related to the WPF event model are also included.
Frameworkelement: inherits the uielement class and adds some features, such as layout definition, logic tree, object lifecycle events, support for data binding and dynamic resource reference, style and animation.
Control is used to create a custom application.ProgramControls. You can override the properties, methods, and events provided by the control class to add custom logic for the custom control.
The window class for building the WPF/silvlerlight application page is derived from it. controls such as buttons and textbox are also derived from it.
Shape: basic class for rendering 2D vector images in WPF/silvlerlight. Including line, polyline, polygon, path, rectangle, and
Ellipse and other sub-classes. You can derive from the shape class to implement custom vector graphics elements. Derived from shape is to ensure that these custom elements use WPF/silvlerlight
The simplest way to layout the system protocols.
From: http://blog.joycode.com/ghj/archives/2010/02/07/115872.joy