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 discover how we can utilize it in every day applications. We'll also find out a number of techniques to fine-tune animations to get that perfect effect and discover how we can build animation functionality into our application framework.