Appendix D. WPF Base Types

WPF defines a large number of types, forming an extensive class hierarchy. This appendix describes the roles of the most important types. It does not provide a detailed description of each type—the MSDN documentation already does that. Instead, this is a high-level guide offering a broad view of how the various types fit together. Figure D-1 shows the inheritance relationships among the types described in this appendix.

WPF core types inheritance diagram

Figure D-1. WPF core types inheritance diagram

DispatcherObject

System.Object
    System.Windows.Threading.DispatcherObject

DispatcherObject is the base class of any type associated with a Dispatcher. The dispatcher mechanism is WPF's message processing system. It underpins critical services including input handling, and certain aspects of layout and data binding. It is also at the heart of the WPF threading model. Threading and the dispatcher system are described in Appendix C.

All of the base types examined in this appendix derive from DispatcherObject, reflecting the dispatcher's central role. Although DispatcherObject is the most common base class in WPF, few classes derive from it directly. Most derive indirectly via DependencyObject.

Get Programming WPF, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.