In this chapter, we've investigated the rich inheritance hierarchy of the built-in WPF controls, determining which abilities comes from which base classes and seen how each control is laid out by their containing panels. We've examined the differences between the different panels and understand that some work better in certain conditions than others.
We've also uncovered the mysteries of the
ItemsControl elements and now have a good understanding of
ItemsPresenter objects. We moved on to discover a wide variety of ways for us to customize the built-in controls. Finally, we considered how best to make our own controls.
In the next chapter, we will take a thorough look at the WPF animation system and ...