In this chapter, we further investigated the built-in controls, paying particular attention to the polymorphic ability to override base class methods in derived classes. We first examined examples from the .NET Framework source code, before moving on to create our own examples that highlight this ability.
We continued, introducing extended examples, to help to fully understand the benefits that can be gained from using this method. Through these examples, we highlighted a number of problems, and learned how to overcome them each in turn, by extending the built-in controls and overriding particular base class methods.
In the next chapter, we will take a thorough look at the WPF animation system and discover how we can utilize it in everyday 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 right into our application framework.