Skip to Main Content
Programming WPF, 2nd Edition
book

Programming WPF, 2nd Edition

by Chris Sells, Ian Griffiths
August 2007
Intermediate to advanced content levelIntermediate to advanced
864 pages
25h 52m
English
O'Reilly Media, Inc.
Content preview from Programming WPF, 2nd Edition

FrameworkElement

System.Object
    System.Windows.Threading.DispatcherObject
        System.Windows.DependencyObject
            System.Windows.Media.Visual
                System.Windows.UIElement
                    System.Windows.FrameworkElement

FrameworkElement is the base class of the majority of visible elements in WPF. It derives from UIElement, so types that derive from FrameworkElement are able to render their own appearance and respond to user input. FrameworkElement adds data binding, styling, and resource handling, and it builds the full set of layout and animation services on top of the primitive services provided by UIElement.

FrameworkElement also provides a great deal of the infrastructure for data templates and control templates, although you must use more specialized classes to exploit these features. Only a Control (or a type derived from Control) can have a control template. You can use data templates either from a ContentPresenter or from certain control types.[130]

FrameworkElement is arguably WPF's nearest equivalent to the Windows Forms Control class. WPF has a Control class too (which we describe later), but its role is more specialized.

Tip

Types that derive directly from FrameworkElement are typically all-code affairs. Although you could create a XAML file for a FrameworkElement with a corresponding code-behind file, you can't use this to construct the appearance of the element. This is because adding child elements at this level requires code—you need to override the GetVisualChild method and the VisualChildrenCount ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Programming C#, 4th Edition

Programming C#, 4th Edition

Jesse Liberty
Programming C# 10

Programming C# 10

Ian Griffiths

Publisher Resources

ISBN: 9780596510374Supplemental ContentErrata Page