Controls in Windows Presentation Foundation (WPF) support rich content, styles, triggers, and templates. In many cases, these features allow you to create custom and consistent experiences without having to create a new control. For more information, see Styling and Templating.
If you do need to create a new control, the simplest way is to create a class that derives from UserControl. Before you do so, consider that your control will not support templates and therefore will not support complex customization. However, deriving from UserControl is a suitable model if you want to build your control by adding existing elements to it, similar to how you build an application, and if you do not need to support complex customization. (If you want to use templates with your control, derive from Control instead.) For more information about the different models for authoring controls, see Control Authoring Overview.
Content Model: UserControl is a ContentControl. Its content property is Content. For more information on the content model for UserControl, see Controls Content Model Overview.