At most times, when we develop an application, it is not possible to fit all the content in just one page. Even if we were able to do so, sometimes it is preferable to divide the content in several parts and group areas by functionality or reusability. On other occasions, we may need other windows, such as modal dialogs, to show other information to the user. Finally, we should not forget that the application may get bigger and we could need more pages for all of its functionality.
Let us begin by talking about the most versatile and easiest control to use, UserControl.
It consists of two parts, Interface definition (XAML) and Code (Code-Behind).
In a new Project, the main page inherits from this control.
We can use both to create a form and a user control. When we create user controls, we encapsulate some of the functionality of our application so as to instantiate this control in other places without replicating code.