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

UserControl

User controls offer a way of building custom controls that works rather differently than everything we've looked at so far. These are intended to offer a similar model to user controls in other UI frameworks such as Windows Forms and ASP.NET. In those technologies, user controls are built with the visual designer in the same way as a window or page would be created, using the same event handling and code-behind mechanisms.

UserControl is a very simple class that derives from ContentControl and adds very little. It defines no new public members, and merely makes minor changes to some default behaviors: it prevents the control from acting as a target for focus and tab navigation (we typically want the elements inside the user control to act as focus targets, not the containing user control itself). The main purpose of UserControl is to signal intent: by deriving from UserControl, you are indicating to the development environment how you would like to build and edit the control. It also offers a clue to developers using your control that it is unlikely to be lookless—user controls use the same tightly coupled relationship between markup and code behind as a window or page, so they do not usually support customization through templates.

Tip

Strictly speaking, user controls have templates—all controls do. However, the default template contains just a single ContentPresenter, which hosts the UI defined in your markup. So in practice, a user control supplies its own visuals.

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